[.net][winform]跨執行序設定UI控制項

  • 162
  • 0

[.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;
	}

}


大概是這樣……