在Windows Embedded Compact 3.5 中,实现A页面跳转至B页面后,在B页面进行数据处理完后关闭B页面时,在A页面获取B页面的变量值
1.在A界面逻辑代码中跳转B界面,并声明获取B页面数据的方法
A界面cs代码:
Form formB = new Form ();
formB .DataReady += FormB _DataReady;//绑定获取B界面数据的方法
formB .ShowDialog();
formB .Dispose();
//获取B界面数据方法
public void FormB _DataReady(object sender,formB.DataReadyEventArgs e)
{
data1= e.data1;
data2 = e.data2;
}
2.在B界面准备要回传A界面的数据
B界面cs代码:
//数据回传给B界面实现逻辑 beign
public event EventHandler<DataReadyEventArgs> DataReady;
//2.1.定义需要回传的字段
public class DataReadyEventArgs : EventArgs {
public string data1{ get; set; }
public int data2{ get; set; }
}
//2.2.准备回传的数据
private void OnDataReady(string str, int num)
{
DataReady.Invoke(this,new DataReadyEventArgs
{
data1= str,
data2= num
});
}
//2.3. 开始触发回传数据的方法
private void StartBackDataMethod()
{
OnDataReady(str, num);//传入需要回传到A界面的变量值str和num
}
//数据回传给B界面实现逻辑 end
3.在B界面增加监控界面关闭按钮的点击事件
B界面cs代码:
// 在窗口关闭时执行的方法,在此页面的Designer.cs中将此方法绑定关闭按钮
private void FrmScanPPIDListDetail_Closed(object sender, EventArgs e)
{
StartBackDataMethod();
}
B界面Designer.cs代码:
private void InitializeComponent()
{
this.Closed += FrmScanPPIDListDetail_Closed;//绑定关闭页面按钮触发事件,此段代码放在mainMenu声明之前
this.mainMenu = new System.Windows.Forms.MainMenu();
}