在表单之间共享UI验证

时间:2012-01-25 02:35:17

标签: vb.net winforms class events

我想弄清楚如何从我的表单中分离我的业务逻辑。这是我第一次尝试这样做,但我想弄清楚如何处理类中多个表单的事件。我发现自己经常在每个表单类中反复编写相同的逻辑,并且我知道如何在winforms中完全分离出逻辑,这样我就可以在所有表​​单中重用这些方法。

所以基本上我在form1中有这个点击事件:

    Private Sub btnSubmit_Click(sender As System.Object, e As System.EventArgs) Handles btnSubmit.Click

        If String.IsNullOrWhiteSpace(txtPlanName.Text) OrElse _
            String.IsNullOrWhiteSpace(txtPlanNumber.Text) Then
            MessageBox.Show("All of the fields are not filled in!" + Environment.NewLine + _
                            Environment.NewLine + "Hit Ok and try again.")
        Else
            'do something

        End If
    End Sub

我想要做的是有一个类可以处理我所有表单的事件,所以我可以重用这段代码。理想情况下,我希望它的结构方式使我不必直接以任何形式编写代码。

Handles Form1.btnSubmit, Form2.btnEnter

这有可能实现吗?

1 个答案:

答案 0 :(得分:1)

最好编写一个具有静态验证方法的公共类,并在用户界面中调用这些方法。

public class MyValidation
   public Shared Function IsEmpty(ByVal data as String) as Boolean
      if String.IsNullOrWhiteSpace(data) OrElse String.IsNullOrWhiteSpace(data) Then
         return true
      End If
      return false
   End Function
End Class