一直在尋找答案,但我無法弄清楚。我不像其他一些語言那樣熟悉C#,任何信息都會有所幫助。無論我嘗試什麼樣的形式,在運行後臺工作時都會凍結。凍結異步背景工作者
backgroundWorker1.RunWorkerAsync(filepath);
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
string filepath = e.Argument.ToString();
using (Image image = Image.FromFile(filepath))
{
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms, ImageFormat.Png);
byte[] imageBytes = ms.ToArray();
string base64String = Convert.ToBase64String(imageBytes);
e.Result = base64String;
}
}
System.Threading.Thread.Sleep(1000);
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
textBox1.Text = e.Result.ToString();
}
是凍結一秒鐘? – StepUp
刪除System.Threading.Thread.Sleep(1000); – Dimitri
表格凍結是什麼意思?它會停止響應用戶輸入嗎?它會停止重繪嗎?或者你的意思是說,在工人完成之前它沒有做任何有趣的事情? – adv12