我想从另一个线程获取某些控件的属性。
例如
string s = textBox1.Text;
而且我越来越不安全的线程异常。
万一我设置了属性,对我来说很清楚,我就调用了invoke,就像
textBox1.Invoke(new MethodInvoker..blablabla
但是我可以用“get”做什么?
最佳答案
您也应该使用invoke来获取:
string text = null;
someControl.Invoke((MethodInvoker) delegate {
text = someControl.Text;
});
线程关联会影响所有操作;不只是写。另一个线程可能正在更改某些内容。对于一个字符串,您可能会以任何一种方式fl幸(由于原子引用读取),但这不应该被滥用;使用Invoke。
关于.net - .net多线程Winforms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4358556/