之前就遇到过从一个界面中关闭另一个界面,常见场景就是一个界面中弹窗,这个弹窗(自己建的另一个界面),这时候如果直接在本界面代码关闭另一个界面的close就会遇到线程不能直接另一线程调用资源,这个和同一界面多线程是类似的可以通过委托的形式去关闭。
例如: 在界面A中创建一个界面: ShowForm showForm = new ShowForm() showForm.Show(); showForm 的一个按钮控件在A界面代码里面绑定:
showForm.Controls[1].Click += new EventHandler(this.myButton1_Click);
声明一个委托:
public delegate void ProcessDelegate();
然后就可以在A界面里面来调用ShowForm的界面关闭方法:
ProcessDelegate currentRow = delegate ()
{
showForm.Close();
};
showForm.Invoke(currentRow);
winform使用多界面,从某个界面关闭某个界面
最新推荐文章于 2024-05-01 15:52:42 发布