방법의 몇 : - :
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
setDateBox.setNoDate(checkBox1.Checked);
}
1 스토어 Form1에 변수 Form3의 클래스 멤버로 "setDateBox"다음 확인란 CheckedChanged 이벤트 처리기에서 "setNoDate"방법에 액세스
2- 당신은 클래스 멤버로 setDateBox를 저장하지 않으 또는 하나 이상의 양식을 업데이트해야하는 경우, 당신은 어떤과 같이 Form3 내에서 이벤트를 정의 할 수 있습니다 :
public event EventHandler<CheckedChangedEventArgs> CheckBox1CheckedChanged;
...
public class CheckedChangedEventArgs : EventArgs
{
public bool CheckedState { get; set; }
public CheckedChangedEventArgs(bool state)
{
CheckedState = state;
}
}
를 Form1의 이벤트에 대한 핸들러 작성 :
Form1 setDateBox = new Form1();
CheckBox1CheckedChanged += new EventHandler<CheckedChangedEventArgs>(setDateBox.Form1_CheckBox1CheckedChanged);
그리고 체크 박스의 체크 상태에 따라 Form3에서 이벤트를 (화재 :
public void Form1_CheckBox1CheckedChanged(object sender, CheckedChangedEventArgs e)
{
//Do something with the CheckedState
MessageBox.Show(e.CheckedState.ToString());
}
양식을 작성한 후 이벤트 핸들러를 할당을 변경) :
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if(CheckBox1CheckedChanged != null)
CheckBox1CheckedChanged(this, new CheckedChangedEventArgs(checkBox1.Checked));
}
희망이 도움이됩니다.
양식과 컨트롤의 이름을 지정해야합니다. – SLaks
@Slaks, 예,해야합니까, 그래서 내가 코드의 이름을 Form1을 사용하는 모든 변경뿐만 아니라 대에서 양식의 이름을 변경합니까? –
폼의 이름을 바꿀 때 Visual Studio는 폼에 대한 모든 참조의 이름을 자동으로 바꿉니다. – SLaks