Пара подходов:
1 - Сохраните переменную Form1 "setDateBox" как член класса Form3 и затем получите доступ к методу "setNoDate" из флажков Обработчик события CheckedChanged:
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);
И затем запустите событиеиз формы 3 (после изменения состояния флажка):
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if(CheckBox1CheckedChanged != null)
CheckBox1CheckedChanged(this, new CheckedChangedEventArgs(checkBox1.Checked));
}
Надеюсь, это поможет.