1
在我的winforms應用程序中,我動態地創建了表單元素(Radiobutton,Label等)。我需要使用其名稱屬性訪問特定的表單元素。一個簡單的解決方案是使用Form1.Controls迭代每個表單元素並檢查其名稱屬性。但在我看來,這個解決方案並不有效。是否有可能使用反射訪問特定的表單元素?動態訪問表單元素
在我的winforms應用程序中,我動態地創建了表單元素(Radiobutton,Label等)。我需要使用其名稱屬性訪問特定的表單元素。一個簡單的解決方案是使用Form1.Controls迭代每個表單元素並檢查其名稱屬性。但在我看來,這個解決方案並不有效。是否有可能使用反射訪問特定的表單元素?動態訪問表單元素
如果你有機會到控件集合,你可以使用提供
myForm.Controls.Find("ControlName",true);
如果你知道它的類型find()方法 - 你可以將它轉換以及
TextBox t = (TextBox)myForm.controls.Find("txtFirstName",false);
真或false將指示該功能搜索任何子控件。
你可以給出一個論點,你爲什麼認爲迭代的孩子比反射效率低? – Archeg 2012-03-01 14:11:38
如果您使用的是.Net4,則有一個控件索引器的重載:form1.Controls [「ControlName」] – 2012-03-01 14:14:41