[.net][winform]跨執行序設定UI控制項
利用多執行序執行winform程式碼時,常會碰到在子執行序裡面要去改變UI Control的情況,
這時候就沒辦法直接存取control,要改用委派的方式如下:
delegate void SetTextCallback(string Text,bool Status);
private void SetTxtControls(string text,bool Status)
{
if (txtSuccessLog.InvokeRequired)//判斷控制項是被已被委派
{
SetTextCallback SC = new SetTextCallback(SetTxtControls);
txtSuccessLog.BeginInvoke(SC, new object[] { text, Status });
}
else
{
txtSuccessLog.AppendText(text + Environment.NewLine);
txtSuccessLog.Enabled = Status;
}
}
大概是這樣……