0
DataGridView
私はユーザーがキーアップとキーダウンを移動しています。DataGridViewを移動し、UIをフリーズせずに画像をロード
今のところ、keyBoxイベントを使用して、imageBox内の画像を1つの列の値に応じて更新しています。ユーザーが1行だけ上下に動かすとうまくいきます。問題は、ユーザーが数回上または下のキーをタップして数行をすばやく移動する場合、UIが常にしばらくの間固定されることです。
UIのフリーズを防止し、画像の読み込みを「バックグラウンド」にするにはどうすればよいですか?
これまでのところ、私のコード:
private void LoadPicture(string path)
{
threadworker = new Thread(() => pictureBox1.Image = path);
threadworker.Start();
}
public void datenübergeben()
{
if (dataGridView1.CurrentRow.Cells["Bild1"].Value.ToString().Length != 0)
{
LoadPicture(dataGridView1.CurrentRow.Cells["Bild1"].Value.ToString());
}
}
別のスレッドでGUIコントロールにアクセスしないでください。空のTry-Catchは決して使用しないでください。 – LarsTech
これで解決策を試してみることなくOKです。 –
非同期タスクを使用することを検討してください。UIをブロックすることはありませんが、画像は遅れて表示されます。それがどうなるか、またはこれを行う方法についてコードスニペットが必要な場合は、私に知らせてください。 – sBanda