在 Visual C# 中,我编写了一个自定义 UserControl,它将在计算机上搜索设备。
例子:
public class MyControl : UserControl
{
private Thread _searchThread;
private bool _found;
public MyControl()
{
InitializeComponents();
_searchThread = new Thread(search);
_searchThread.Start();
}
private void search()
{
while(!_found)
{
//search
}
}
}
当我将此控件添加到另一个控件时,我得到一个设计时错误,这个堆栈跟踪的 FileNotFound 异常:
StackTrace:在 MyControl.search() 在 System.Threading.ThreadHelper.ThreadStart_Context(Object state) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 在 System.Threading.ExecutionContext.Run( System.Threading.ThreadHelper.ThreadStart() 处的 ExecutionContext executionContext、ContextCallback 回调、对象状态
现在,当我注释掉 _searchThread.Start() 时,一切正常。
有谁知道这里发生了什么或如何解决这个问题?