C#と.NETFramework4.0を使用してWindowsフォームアプリケーションを作成しました。プログラムの実行中にウィンドウ内を移動できず、最小化すると元に戻せないという問題があります。これは、UIが実行されているのと同じスレッドで作業を行っているためだと思います。
これが原因でしょうか?もしそうなら、どうすれば修正できますか?
C#と.NETFramework4.0を使用してWindowsフォームアプリケーションを作成しました。プログラムの実行中にウィンドウ内を移動できず、最小化すると元に戻せないという問題があります。これは、UIが実行されているのと同じスレッドで作業を行っているためだと思います。
これが原因でしょうか?もしそうなら、どうすれば修正できますか?
スレッドとスレッド化の内部に入りたくない場合は、BackgroundWorker コントロールを使用してタスクを実行することをお勧めします。バックグラウンド ワーカー コントロールは、クリーンなプログラミング インターフェイスを提供するために、バックグラウンドで多くのスレッド処理をカプセル化します。
次のリンクが役立つかもしれません(私が書いたものです)
次のコードを書いてみてください。
System.Threading.Tasks.Task.Factory.StartNew(new Action(() =>
{
//your code goes here
}));
タスクがないと、コードとUIが同じスレッドで実行されるため、速度が低下します。