1

私はプログラミングが初めてなので、これは少し奇妙な質問かもしれません。

いくつかの TextBoxes を持つ単純なフォームがあります。ユーザー入力を検証する必要があるため、この TextBox の Validating イベントを作成しました。

Private Sub txtTest_Validating(sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtTest.Validating
    ValidateInputMinMax(CType(sender, Control), e)
End Sub

このイベント ハンドラから、プライベート サブValidateInputMinMaxを呼び出します。

ErrorProvider.SetError

e.canle = True

いくつかの検証基準に基づいています。Form クラスから新しいカスタム クラスに移動したい、このハンドラーとプライベート サブルーチンがいくつかあります。これはできますか?

これをすべてカスタムクラスにコピーして、withevents を宣言してみました:

Dim WithEvents txtTest as TextBox

今、私は立ち往生しています。私は正しい軌道に乗っていますか?

4

2 に答える 2

1

このような ..

Private Sub txtTest_Validating(sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles txtTest.Validating
    ValidateInputMinMax((CType(sender), Textbox),e)
End Sub
于 2013-05-31T08:33:40.840 に答える
0

デリゲートを使用する必要があります。

Public Class Form1

  Friend WithEvents exampleControl1 As New ExampleControl


  Private Sub exampleControl1_Events(ByVal eventNumber As Integer) Handles_
 exampleControl1.Event1


  End Sub


End Class

Public Class ExampleControl
  Inherits System.Windows.Forms.UserControl

  Public Event Event1(ByVal eventNumber As Integer)

  Private Sub ExampleMethod()

    RaiseEvent Event1(1)

  End Sub

End Class

http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/9e594807-49fd-448a-9804-6f5edd6cb2b0

http://msdn.microsoft.com/en-us/library/ms172879.aspx

于 2013-05-31T08:51:48.287 に答える