当winform程序中新开一个线程,是无法改变主线程中窗体控件的属性的,否则运行时会报错。
若想在其他线程中控制主线程中的窗体控件,则必须利用BeginInvoke方法。
例如:添加一个名为textbox1的TextBox控件,想将它的Visible设置为false,则执行下面的代码即可
textbox1.BeginInvoke(new Action(() => { textbox1.Visible= false; }));
本文介绍在WinForm应用中,如何从非主线程安全地更改主线程中窗体控件的属性,避免运行时报错。通过使用BeginInvoke方法,可以实现在其他线程中控制主线程中的TextBox控件的Visible属性。
当winform程序中新开一个线程,是无法改变主线程中窗体控件的属性的,否则运行时会报错。
若想在其他线程中控制主线程中的窗体控件,则必须利用BeginInvoke方法。
例如:添加一个名为textbox1的TextBox控件,想将它的Visible设置为false,则执行下面的代码即可
textbox1.BeginInvoke(new Action(() => { textbox1.Visible= false; }));
1207
2277
2677

被折叠的 条评论
为什么被折叠?