一對夫婦的方法:
1 -商店Form1的變量 「setDateBox」 作爲Form3的一個類的成員,然後訪問來自所對應的複選框的CheckedChanged事件處理程序 「setNoDate」 的方法:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
setDateBox.setNoDate(checkBox1.Checked);
}
2 -如果您不希望setDateBox存儲爲一個類的成員,或者您需要更新不止一種形式,你可以像其左右的時間內Form3定義事件:
public event EventHandler<CheckedChangedEventArgs> CheckBox1CheckedChanged;
...
public class CheckedChangedEventArgs : EventArgs
{
public bool CheckedState { get; set; }
public CheckedChangedEventArgs(bool state)
{
CheckedState = state;
}
}
創建Form1中的事件的處理程序:
public void Form1_CheckBox1CheckedChanged(object sender, CheckedChangedEventArgs e)
{
//Do something with the CheckedState
MessageBox.Show(e.CheckedState.ToString());
}
事件處理函數分配創建窗體後:
Form1 setDateBox = new Form1();
CheckBox1CheckedChanged += new EventHandler<CheckedChangedEventArgs>(setDateBox.Form1_CheckBox1CheckedChanged);
再火從Form3(事件後的複選框的選中狀態改變):
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if(CheckBox1CheckedChanged != null)
CheckBox1CheckedChanged(this, new CheckedChangedEventArgs(checkBox1.Checked));
}
希望這會有所幫助。
你應該命名你的表單和控件。 – SLaks
@Slaks,是的,我應該如何更改vs中的表單名稱,以便在代碼中使用名稱Form1的所有內容都被更改? –
當您重命名錶單時,Visual Studio會自動重命名所有對它的引用。 – SLaks