我正在做一個設置屏幕,此時將有一個單選按鈕組,它將決定顯示哪些控件。不同的設置包含在UserControl中。C#.NET如何動態訪問用戶控件中的字段?
我動態創建這個用戶控件,像這樣:
panel = new btSettings();
this.Controls.Add(panel);
panel.Location = new Point(15, 49);
只是想知道我怎麼可以這樣控制和設計的時間內訪問該字段時對象將只會在運行時產生的?
謝謝。
我正在做一個設置屏幕,此時將有一個單選按鈕組,它將決定顯示哪些控件。不同的設置包含在UserControl中。C#.NET如何動態訪問用戶控件中的字段?
我動態創建這個用戶控件,像這樣:
panel = new btSettings();
this.Controls.Add(panel);
panel.Location = new Point(15, 49);
只是想知道我怎麼可以這樣控制和設計的時間內訪問該字段時對象將只會在運行時產生的?
謝謝。
您將需要使用間接引用來做你想做的事情。自從我使用用戶控件以來,它已經有一段時間了,但容器控件應該支持控件(或子項)集合,它將返回其中存在的控件。然後您需要遍歷它們,將它們轉換爲您關心的類型並使用它們。例如:
Foreach(Control target in panel.Controls) {
if (target.GetType() == typeof(RadioButton) {
((RadioButton)target).Checked = true;
//etc...
}
}
在設計時你不能得到不存在的對象。
您必須在運行時以編程方式設置控件。您可以使用設計時間來找出你想添加靜態控制什麼,但你將有以編程方式設置在運行時
控制回答你的問題......
只是想知道怎樣才能訪問該控件中的 字段和設計的 時間對象只會在運行期間創建爲 ?
如果您需要在設計時控制工作,我認爲唯一的方法是創建一個自定義控件並將其拖動到表單。