回答
您可以使用反射:
var textBoxType = typeof(Control).Assembly.GetType("System.Windows.Forms.TextBox", true);
var textBox = Activator.CreateInstance(textBoxType);
Thanks.Thanks.Thanks.Its true,working wonderfull.i也有一個問題。我定義了文本框,但是如何從「string」字符串中改變文本框的文本或大小 – deneme 2011-04-26 09:10:46
@deneme,你可以一次再次在新創建的實例上使用反射:'textBoxType.GetProperty(「Text」).SetValue(textBox,「Hello World」,null);'。我會建議你閱讀更多關於反思:http://msdn.microsoft.com/en-us/library/f7ykdhsy.aspx – 2011-04-26 09:12:32
非常感謝達林! – BillW 2011-07-11 13:53:13
var assembly = Assembly.GetExecutingAssembly();
var type = assembly.GetType("System.Windows.Forms.TextBox");
var inst = Activator.CreateInstance(type);
不能測試然而。但它應該做的伎倆。
這樣做:
var controlType = typeof(Control);
var type = controlType
.Assembly
.GetTypes()
.Where(t => controlType.IsAssignableFrom(t) &&
t.Namespace == "System.Windows.Forms"
t.Name == "ControlName"
).FirstOrDefault();
var inst = Activator.CreateInstance(type);
這個答案是因爲你以前的問題。
Type t = Type.GetType(yourTypeStingHere);
ConstructorInfo info = t.GetConstructor(new Type[] { });
object instance = info.Invoke(new object[]{})
- 1. c#mvc從字符串名稱動態創建控制器 - eval?
- 2. 使用字符串c的值名稱創建控件#
- 3. C++:創建字符串
- 4. 如何將控制字符附加到c#中的字符串?
- 5. C#轉換字符串字面控制
- 6. 創建一個字符串的哈希值,並在C#中uinteger
- 7. c#控制檯後字符串writeline
- 8. 字符串創建
- 9. 創建二維數組的字符串,值將由用戶輸入在C++
- 10. C:從分隔的源字符串創建字符串數組
- 11. C++從字符串創建ambigram
- 12. 創建一個字符串矢量:C++
- 13. 使用字符串C++創建目錄
- 14. 字符串解析C#創建段?
- 15. php從字符串值創建函數
- 16. 從值的字符串創建refinementList
- 17. RegSetValueEx不會創建字符串值
- 18. 從innerhtml字符串值創建javascript timestamp
- 19. 基於字符串值創建實例
- 20. C++將字節二進制值轉換爲字符串
- 21. 如何在C++中使用字符串修飾符創建新字符串?
- 22. c#使用控制檯將字符串拆分爲列
- 23. Swift3將字符串值轉換爲十六進制字符串
- 24. 在C++中將字符串大小限制爲字符數
- 25. 使用VBA將內容控制值轉換爲字符串
- 26. 如何從C宏的值中創建一個字符串?
- 27. 控制轉義字符串
- 28. Python字符串沒有控制字符
- 29. 使用Unicode字符的C#控制檯字符串填充
- 30. C#將字符串更改爲新值
您的問題不清楚回答。 – 2011-04-26 08:59:21
對我來說非常有意義 – RustyH 2014-09-09 17:13:50