2014-02-17 42 views
0

我一直在尋找很多有關「操縱gui元素從另一個線程」的網站,我發現每個解決方案(或看起來)都與其他解決方案完全不同......一些解決方案的長度爲1-3行,其他解決方案長達50多行。從另一個線程操縱gui-elements - 執行此操作的常用方法?

在這裏例如我有2個不同的和小的工作解決方案。我的問題是:他們哪一個是通用解決方案?

這兩個代碼片段都是從另一個線程(而不是gui線程)調用的。

// Solution 1.) 
    frame.rtbChatbox.Invoke(new Action(() => frame.rtbChatbox.AppendText("\n" + line))); 

// Solution 2.) 
    frame.rtbChatbox.Invoke((Action)delegate { 
     frame.rtbChatbox.AppendText("\n" + line); 
    }); 
+0

有一個流行的反模式來創建一個後臺線程,主要回調緊密循環的UI線程,操縱UI元素。確保你不這樣做。 – Noseratio

回答

0

列出的兩個解決方案在功能上是等效的。它們是兩種不同的語法,每種語法都用於創建匿名方法。

使用你想要的任何一個。

相關問題