.Net C# 跨執行序呼叫控制項

C# 跨執行序呼叫控制項
Reference:http://msdn.microsoft.com/zh-tw/library/system.windows.forms.methodinvoker(v=vs.110).aspx

假設有一個情境,您可能在開發一般的.Net C#視窗應用程式( Window Form Application ),
在此視窗程式中,您可能需要啟動一個或多個執行緒去做其他的事情。
在此視窗程式中,你安排了一個TextBox負責接收這些執行序回傳的結果,以便即時的監控這些執行緒。
於是有一種程式的邏輯,可能是將TextBox丟進該執行緒中。但可惜的是在執行續類別中,一定不能這樣寫 TextBox.Text = “Hello World"。
一定得要使用委任。

一個簡單的委任如下。

public bool modifyTextBox(string msg) {
    MethodInvoker action = delegate { textBox.Text = msg + "\r\n"; };
    textBox.BeginInvoke(action);
    return true;
}
廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s