[C#]子表單 繼承 傳遞屬性

    在公司寫第一個專案為公佈欄,但是每個表單都會要有ID,密碼的屬性,一開始的想法是一個一個表單加上屬性,還為此GOOGLE不同表單傳值的方法,找到的是在表單建構的時候給予參數,使用者名稱、使用者ID、使用者密碼,要傳的值,這樣子就需要四個參數了...。開發兩個禮拜後,卻因為莫名的原因XP無法開始...,因為一開始確定可以在XP上開起,之後的編譯都沒有在XP上試過,花了一個下午找不到原因,只好重製一次,回頭看的時候發現兩個禮拜前的寫法真的像大便...在看書看到繼承之時,便想到可以用繼承設定每個表單的屬性。

1.建立父表單,設定屬性。

public partial class FormBase : Form
 {

  private string _UserName;
  private string _UserPwd;
  private string _UserId;
  public string UserName { get { return _UserName; } set { _UserName = value; } }
  public string UserPwd { get { return _UserPwd; } set { _UserPwd = value; } }
  public string UserId { get { return _UserId; } set { _UserId = value; } }

  public FormBase()
  {
   InitializeComponent();
  }
 }

2.子表單繼承父表單

public partial class FormOne : FormBase
 {
  public FormOne()
  {
   InitializeComponent();
  }

  private void Form1_Load(object sender, EventArgs e)
  {

  }
 }

3.成果

4.Form1程式碼

  private void btnSent_Click(object sender, EventArgs e)
  {
   FormTwo FormTwo = new FormTwo();
   FormTwo.UserName = txtBox.Text;
   FormTwo.Show();
  }

5.Form2程式碼

  private void FormTwo_Load(object sender, EventArgs e)
  {
   labUserName.Text = UserName;
  }