當我做長時間運行的任務,然後我想顯示繁忙的圖像,並在作業完成時隱藏繁忙的圖像。如何顯示隱藏忙圖像異步
private void btnSave_Click(object sender, EventArgs e)
{
string strRating = "";
Messages oErrMsg = Messages.Instance;
FeedBack oFeedBack = new FeedBack();
picbox.Visible = true;
Application.DoEvents();
if (cboRating.Text.Trim() == "--Select--")
{
strRating = "";
}
else
{
strRating = cboRating.Text.Trim();
}
try
{
oErrMsg = oFeedBack.UpdateFeedBack(JobID, strRating, txtComments.Text.Trim(), AccountRef, PartNumber);
if (!oErrMsg.IsError)
{
picbox.Visible = false;
comments _cmm = new comments();
_cmm.Comments = txtComments.Text;
_cmm.Rating = strRating;
_cmm.Row = this.Row;
_cmm.Col = this.Col;
OnValueChanged(_cmm);
DialogResult = DialogResult.OK;
this.Close();
}
else
{
picbox.Visible = false;
MessageBox.Show(oErrMsg.Message);
}
}
catch (Exception ex)
{
picbox.Visible = false;
MessageBox.Show(ex.Message.ToString());
}
}
picbox.Visible = true;
picbox有忙的圖像,但問題是圖像不顯示,因爲我是顯示忙,然後一個長期運行的操作開始。所以引導我如何能夠異步顯示繁忙的圖像並在作業完成時隱藏。感謝
關於Windows繪製窗口的方式非常重要,它只發生在沒有其他任何事情必須完成時。如果線程恐懼,然後添加picBox.Update()來強制控件被繪製。 –