2013-07-26 103 views
0

我遇到我的用户界面挂,只要我试图设置控制的可见性取决于逻辑可见= true或visibile = false它挂起。我可以在设计器中将我的表单上的所有内容设置为True,并且不会对处理逻辑的后台处理程序有任何问题,但无论何时我必须从可见真/假中切换,它都会挂起应用程序。这是由于一些跨线程发生在我试图设置在用户界面线程上的其他任何地方的用户界面的可见性?如果是这样,为什么我能够更改我的控件的文本属性,没有任何问题,但可见正在给我一些问题?Backgroundworker冻结时,反对。可见属性

+1

后台线程并不打算具有任何有关UI。 – OneFineDay

+0

我一直在环顾四周,一直在看使用bgw的人来帮助加快显示UI的过程 – Criel

+0

不正确。你想加快什么? – OneFineDay

回答

1

是的,由于在后台线程上执行UI命令,您正在崩溃。您可以执行您在该线程上执行的任何非UI逻辑,然后使用调度程序更改.visible或其他UI控件的实际值 - 请参阅:http://msdn.microsoft.com/en-us/library/0b1bf3y3.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1

+0

这使得感。请问为什么我可以修改表单上标签的.text属性而不冻结?只有在试图修改一些选择的属性(启用,可见等)时才会冻结。 – Criel