何が起こっているのかわかりませんが、別のスレッドから画像を動的に読み込もうとすると、フォーム全体がフリーズして永久に読み込まれます。これが私がそれを呼び出す方法です:
新しいスレッドは、newimages\0.jpg などの画像へのパスを指定してこれを呼び出します。
public void setImage(String imgPath)
{
Bitmap bmp = new Bitmap(imgPath);
screenshotBox.InvokeEx(a => a.Image = bmp);
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
namespace Server
{
static class ISynchronizeInvokeExtensions
{
public static void InvokeEx<T>(this T @this, Action<T> action) where T : ISynchronizeInvoke
{
if (@this.InvokeRequired)
{
@this.Invoke(action, new object[] { @this });
}
else
{
action(@this);
}
}
}
}