我知道如何做一個已經定義的文本框上的線程安全更新http://msdn.microsoft.com/en-us/library/ms171728.aspx ....我怎麼能這樣做的文本框,後來生成在程序?你的建議非常感謝。C#線程安全文本更新動態創建的文本框
回答
鑑於一些TextBox
對象,只是調用它:
TextBox foo = new TextBox(...);
// Code to add the new box to the form has been omitted; presumably
// you do this already.
Action update = delegate { foo.Text = "Changed!"; };
if (foo.InvokeRequired) {
foo.Invoke(update);
} else {
update();
}
如果你使用這個模式很多,這種擴展方法可能會有所幫助:
public static void AutoInvoke(
this System.ComponentModel.ISynchronizeInvoke self,
Action action)
{
if (self == null) throw new ArgumentNullException("self");
if (action == null) throw new ArgumentNullException("action");
if (self.InvokeRequired) {
self.Invoke(action);
} else {
action();
}
}
然後你就可以減少你的代碼爲:
foo.AutoInvoke(() => foo.Text = "Changed!");
這樣做只會做正確的事情,在ma上執行委託在GUI線程中是否正在執行它。
嘿,這很酷。我也可以通過其中的幾個循環。 – user1261710
太棒了....我真的需要現在瞭解lambda表示法 – user1261710
您也可以使用匿名代表。在這種情況下,他們編譯到完全相同的東西。 (Lambdas可用於實例化表達式樹對象,而匿名代表則不能。兩者都可用於實例化委託對象,並且在這方面完全相同。) – cdhowie
我們在這裏肯定需要更多的信息,但從我能收集到的信息來看,你感嘆這個線程的主要功能沒有任何參數。您可以創建周圍類的文本框成員,並以這種方式訪問它們。如果你走這條路線,一定要使用一個互斥或其他鎖定設備的線程。
基本上,用戶將輸入x個線程...文本框是在每個線程的表單上動態創建 – user1261710
每個線程都有一個計數器循環,當計時器關閉時它將退出。用戶也將選擇時間。線程在同一時間運行,並將同時退出。 – user1261710
感謝您對此問題的意見。 – user1261710
- 1. 動態創建文本框不更新
- 2. 在c#和asp.net中更新動態創建的文本框
- 3. 動態創建文本框
- 4. 動態創建文本框
- 5. 創建動態文本框
- 6. 動態創建文本框
- 7. 動態創建多個文本框C#
- 8. ASP .Net - 更改/更新動態創建的文本框
- 9. 如何更新動態創建的文本框中的文本wpf
- 10. 動態創建的文本框的值不會更新
- 11. Listview - 在動態創建的文本框中捕獲文本更新
- 12. jQuery變量未在動態創建的文本框中更新
- 13. 使用動態創建的文本框更新數據庫
- 14. 基於文本框輸入的動態文本框創建
- 15. Django。線程安全更新或創建。
- 16. 刪除動態創建的文本框
- 17. 禁用動態創建的文本框
- 18. 刪除動態創建的文本框
- 19. 刪除動態創建的文本框
- 20. 動態更新文本框上的標籤文本更改?
- 21. HTML5創建動態文本框的數組,並設置文本框的文本
- 22. 使用動態創建的文本框中的文本
- 23. 創建動態文本框,然後寫入文本文件
- 24. MVC 3 RAZOR動態創建文本框
- 25. 使用javascript動態創建文本框
- 26. 在Coldfusion中創建動態文本框
- 27. 無法從動態創建文本框
- 28. 無法動態創建文本框
- 29. 檢索動態創建文本框
- 30. 動態創建文本框MVVM?
你會這樣做。哪一部分給你帶來麻煩? – cdhowie
問題中的文本框對於每個線程都是不同的。我如何告訴它下一個方框而不將其名稱傳入參數? – user1261710
當你說「下一個是哪個盒子」時,這意味着什麼?你暗示着你沒有告訴我們任何事情的某種秩序。更確切地說:**最好假裝我們不知道你在說什麼,並且準確地解釋你在做什麼。** – Kiril