0
我有一個DataGridView
用戶正在通過keyup和keydown移動。移動DataGridView並加載圖片而不會凍結UI
現在我正在使用keyup事件來刷新imageBox中的圖像,具體取決於一列中的值。如果用戶只向下或向上移動一行,它可以正常工作。問題在於,如果用戶通過向上或向下輕敲幾次快速移動幾行,UI總會凍結一段時間。
如何防止UI凍結並使圖片加載「backgroundwork」?
到目前爲止,我的代碼:
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
好吧,現在沒有嘗試捕捉任何解決方案? –
考慮使用異步任務它不會阻止用戶界面,但會延遲顯示圖像。告訴我它是如何發展的,或者如果你需要一個關於如何做到這一點的代碼片段。 – sBanda