원하는 경우 다른 접근 방식을 사용할 수 있습니다.
- System.Action 사용 (여기서는 콜백 함수처럼 기본 양식 함수를 매개 변수로 자식 양식에 전달하기 만하면됩니다)
- OpenForms 메서드 (열린 양식 중 하나를 직접 호출)
System.Action 사용
하위 양식에 전달 된 콜백 함수로 생각할 수 있습니다.
Options frmOptions = new Options(UpdateSettings);
frmOptions.Show();
public void UpdateSettings(string data)
{
}
Action<string> UpdateSettings = null;
public Options(Action<string> UpdateSettings)
{
InitializeComponent();
this.UpdateSettings = UpdateSettings;
}
private void btnUpdate_Click(object sender, EventArgs e)
{
if (UpdateSettings != null)
UpdateSettings("some data");
}
OpenForms 메서드
이 방법은 간단합니다 ( 2 줄 ). 그러나 열린 양식에서만 작동합니다. 데이터를 전달할 위치에이 두 줄을 추가하기 만하면됩니다.
Main frmMain = (Main)Application.OpenForms["Main"];
frmMain.UpdateSettings("Some data");
여기에 비슷한 질문에 대한 답변을 제공 했습니다.