如何将所有验证事件移动到自定义类?

时间:2013-05-31 08:31:10

标签: vb.net class validation

我是编程的新手,所以这可能是一个有点奇怪的问题。

我有一个带有几个TextBox的简单表单。我需要验证用户输入,所以我为这个TextBoxes创建了验证事件。

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

从这个事件处理程序我调用private sub ValidateInputMinMax ,我使用

ErrorProvider.SetError

e.canle = True

基于一些验证标准。我有几个这样的处理程序和私有潜艇,我想从 Form Class 移动到新的自定义类。 可以这样做吗?

我尝试将所有这些复制到自定义类并声明事件:

Dim WithEvents txtTest as TextBox

现在我被卡住了。我甚至走在正确的轨道上?

2 个答案:

答案 0 :(得分:1)

喜欢这个..

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

答案 1 :(得分: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