私の問題は単純に、SQL クエリが完了するまでに 2 分以上かかることと、そのすべてのデータを取得しようとしている間にアプリケーションがフリーズすることができないことです。マルチスレッドを試してみましたが、あなたが認識していると確信しているエラーが発生し続けます。私のコードはその下にあります。
クロススレッド操作が無効です: コントロール 'labelEdit1' は、それが作成されたスレッド以外のスレッドからアクセスされました。
private void Form_Load(object sender, EventArgs e)
{
startup = new Thread(loadInThread);
startup.Start();
}
private void loadInThread()
{
//getsDataFromSQL() is the method that takes over 2 minutes to do
//it returns a String Array if that is helpful
comboEdit1.Properties.Items.AddRange(getsDataFromSQL());
startup.Abort();
}
これを行うためのより良い方法がある場合は、お知らせください。必要なのは、アプリケーションがフリーズせず、データがコンボエディットに読み込まれることだけです。また、SQLステートメントを最適化できることは知っていますが、それはこの質問の目的ではないため、提案しないでください.