2012-01-25 65 views
0

我想弄清楚如何從我的表單中分離出我的業務邏輯。這是我第一次嘗試這樣做,但我想弄清楚如何處理一個類中多個表單的事件。我發現自己經常在每個表單類和它的時間內反覆地寫同樣的邏輯,我計算出如何在winforms中完全分離出這個邏輯,這樣我就可以在所有表​​單中重用這些方法。在表單之間共享UI驗證

所以基本上我在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

最好是編寫一個具有靜態驗證方法的公共類,並在用戶界面中調用這些方法。

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