대리자를 사용하여 Windows Forms 간에 데이터 전달
Windows Forms 애플리케이션에서 여러 양식으로 작업할 때 데이터를 전달해야 하는 경우가 많습니다. 그들 사이. 이를 달성하기 위한 일반적인 접근 방식은 대리자를 이용하는 것입니다. 대리자를 사용하여 데이터 전달을 구현하는 방법은 다음과 같습니다.
대리자 생성
먼저, 데이터 전송을 위한 콜백 메서드 역할을 할 대리자를 생성해야 합니다. C#에서는 다음과 같이 수행할 수 있습니다.
public delegate void PageInfoHandler(object sender, PageInfoEventArgs e);
이 대리자는 두 개의 매개 변수, 즉 보낸 사람 개체(일반적으로 데이터를 보내는 양식)와 이벤트 인수 개체(실제 개체를 포함하는)를 사용하는 메서드를 선언합니다. 데이터).
대리자 사용
기본 양식 내에서 다음을 수행할 수 있습니다. 대리자의 인스턴스를 만들고 하위 양식에 데이터를 전달하려고 할 때마다 이벤트를 발생시킵니다. 예:
public partial class MainForm : Form { // Declare the delegate instance public event PageInfoHandler PageInfoRetrieved; private void toolStripBtnSettings_Click(object sender, EventArgs e) { PageInfoEventArgs args = new PageInfoEventArgs(SomeString); this.OnPageInfoRetrieved(args); SettingsForm settingsForm = new SettingsForm(); settingsForm.ShowDialog(); } private void OnPageInfoRetrieved(PageInfoEventArgs args) { if (PageInfoRetrieved != null) PageInfoRetrieved(this, args); } }
데이터 검색
하위 양식(이 경우에는 SettingsForm) 내에서 위임 이벤트를 구독하여 데이터. 이는 자식 폼의 생성자나 초기화 코드에서 수행할 수 있습니다. 예:
public class SettingsForm : Form { public SettingsForm() { // Subscribe to the delegate event if (MainForm.PageInfoRetrieved != null) MainForm.PageInfoRetrieved += new PageInfoHandler(OnPageInfoRetrieved); } private void OnPageInfoRetrieved(object sender, PageInfoEventArgs e) { // This method will be called when the PageInfoEventArgs is raised // in the main form. You can access the data from the event argument here. // ... } }
데이터 사용
하위 양식에서 데이터를 검색한 후에는 제공된 이벤트 인수를 사용하여 실제 데이터에 액세스할 수 있습니다. . 이 예제에서는 데이터가 PageInfoEventArgs 개체의 속성으로 전달됩니다. 예를 들어 다음과 같이 사용할 수 있습니다.
// In the SettingsForm private void DisplayData() { // Get the data from the event arguments string data = e.Data; // Display or use the data in the child form // ... }
이러한 단계를 따르면 대리자를 사용하여 여러 Windows Forms 간에 데이터를 효율적으로 전달할 수 있으므로 애플리케이션의 양식 간에 통신 및 데이터 교환이 가능해집니다.
위 내용은 대리인을 사용하여 Windows Forms 간에 데이터를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!