Windows Forms에서 양식 간에 변수 전달
Windows Forms 애플리케이션에서는 대리자와 이벤트를 사용하여 양식 간에 데이터를 전달할 수 있습니다. 문제는 하나의 양식인 "하위" 양식이 "상위" 양식의 변수에 액세스해야 할 때 발생합니다.
이 문제를 해결하려면 대리자를 활용하여 상위 양식에서 하위 양식으로 데이터를 보내는 것을 고려하십시오. 상위 양식에서 대리자와 이에 대한 이벤트 처리기를 정의합니다. 하위 양식을 여는 버튼을 클릭하면 변수 값을 전달하는 이벤트 인수 객체를 생성하고 이벤트를 발생시킵니다.
하위 양식의 생성자에서 이벤트를 구독합니다. 이벤트가 발생하면 이벤트 인수 객체에서 변수 값을 검색합니다. 변수 텍스트를 동적으로 표시하도록 하위 양식의 컨트롤이나 속성을 수정합니다.
다음은 C#의 예제 코드입니다.
// Parent Form public partial class MainForm : Form { public delegate void PageInfoHandler(object sender, PageInfoEventArgs e); public event PageInfoHandler PageInfoRetrieved; private void toolStripBtnSettings_Click(object sender, EventArgs e) { PageInfoEventArgs args = new PageInfoEventArgs(SomeString); OnPageInfoRetrieved(args); SettingsForm settingsForm = new SettingsForm(); settingsForm.ShowDialog(); } private void OnPageInfoRetrieved(PageInfoEventArgs args) { if (PageInfoRetrieved != null) PageInfoRetrieved(this, args); } } // Child Form public partial class SettingsForm : Form { private string m_Data; // Variable to store the passed value public SettingsForm() { InitializeComponent(); Subscribe to PageInfoRetrieved event } private void OnPageInfoRetrieved(object sender, PageInfoEventArgs e) { m_Data = e.Value; // Update controls or properties in this form } public string Data => m_Data; // Expose the variable as a property }
위 내용은 Windows Forms 응용 프로그램의 양식 간에 변수를 어떻게 전달할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!