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: System.Threading.ThreadHelper.ThreadStart_Context(オブジェクトの状態) の MyControl.search() で System.Threading.ExecutionContext.Run(ExecutionContext の executionContext、ContextCallback コールバック、オブジェクトの状態、ブール値の ignoreSyncCtx) でSystem.Threading.ThreadHelper.ThreadStart() での ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態)
_searchThread.Start() をコメントアウトすると、すべてが機能します。
ここで何が起こっているのか、またはこれを修正する方法を知っている人はいますか?