在公司寫第一個專案為公佈欄,但是每個表單都會要有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;
}