如何獲得命名空間中的所有控件?例如,我想在System.Windows.Forms的控件:文本框,組合框等如何獲取命名空間中的所有控件?
4
A
回答
6
在命名空間一個控制的概念是有點不清楚。您可以使用反射來獲取從特定基類型派生的給定名稱空間中的程序集中的類。例如:
class Program
{
static void Main()
{
var controlType = typeof(Control);
var controls = controlType
.Assembly
.GetTypes()
.Where(t => controlType.IsAssignableFrom(t) &&
t.Namespace == "System.Windows.Forms"
);
foreach (var control in controls)
{
Console.WriteLine(control);
}
}
}
5
這將返回指定的命名空間的所有類:
string @namespace = "System.Windows.Forms";
var items = (from t in Assembly.Load("System.Windows.Forms").GetTypes()
where t.IsClass && t.Namespace == @namespace
&& t.IsAssignableFrom(typeof(Control))
select t).ToList();
0
表單對象有Controls
成員,其類型爲ControlCollection
。它基本上是所有控件的列表(帶有其他一些接口)。
編輯:根據您的評論,您需要將控件轉換回文本框。首先,您必須將其識別爲控件。
foreach (var control in controls)
{
if(control is TextBox)
{
(control as TextBox).Text = "Or whatever you need to do";
}
}
相關問題
- 1. 如何獲取命名空間中的所有密鑰?
- 2. 如何獲取Ruby中的命名空間中的所有類名?
- 3. 獲取目錄中所有特定命名空間的dll
- 4. 如何在一個查詢中讀取所有命名空間
- 5. Struts 2從xml中獲取所有命名空間和操作
- 6. 如果沒有命名空間,如何獲取節點名稱?
- 7. 如何獲取Jena中使用的所有命名空間RDF模型
- 8. 如何獲取Clojure名稱空間中的所有新符號
- 9. 獲取命名空間內的所有類
- 10. 如何獲取XPath中的命名空間名稱?
- 11. 軌獲取所有命名空間模型
- 12. 從命名空間獲取所有配置
- 13. 授權給定命名空間中的所有控制器?
- 14. 如何獲得沒有命名空間的只有類名
- 15. 如何列出「java:global」命名空間中的所有JNDI條目
- 16. 如何列出命名空間中的所有函數?
- 17. 如何獲取Pod中的當前命名空間?
- 18. 如何獲取流明5.2中的路由和命名空間?
- 19. 命名空間下的所有控制器的助手?
- 20. 獲取可用的clojure命名空間
- 21. 獲取命名空間的前綴
- 22. 查找所有命名空間中的所有模型
- 23. Android:如何獲取Facebook重命名包名稱的命名空間?
- 24. 命名空間名稱空間控制器還有什麼?
- 25. 如何在所有命名空間中創建一個類型?
- 26. 如何在多個命名空間中命名空間函數?
- 27. php命名空間目錄中的所有文件
- 28. 包含命名空間中的所有文件
- 29. 如何從Mono中提取System.Net.Mail並重命名命名空間?
- 30. 如何獲得命名空間
的可能的複製http://stackoverflow.com/questions/1558127/how-can-i-get-all-controls-from-a-form-including-controls-in-any-容器 – 2011-04-26 08:12:57
或http://stackoverflow.com/questions/949246/how-to-get-all-classes-within-namespace – 2011-04-26 08:19:02
@Gunner,請閱讀這個問題,他談論的是命名空間而不是鏈接中的表單容器指定。 – 2011-04-26 08:23:18