2011-03-02 46 views
0

如何在運行時動態調用控件並設置它的屬性?如何使用變量動態設置控件C#

// Declare and set queue servers 
string[] queueservers = new string[] { "SERVER1", "SERVER2", "SERVER3", "SERVER4" }; 
int y; 

for (y = 0; y <= queueservers.Length - 1; y++) 
{ 
    string queueanswer = GetMailQueueSize(queueservers[y]); 
    if (queueanswer == "alarm") 
    { 
     phxQueueImg + queueservers + .ImageUrl = "~/images/Small-Down.gif"; 
    } 
    else 
    { 
     phxQueueImg + queueservers + .ImageUrl = "~/images/Small-Up.gif"; 
    } 
    queueanswer = ""; 
} 
+1

咦?我真的不明白你在這裏問什麼。 – 2011-03-02 03:16:22

+0

我懷疑你只是想*控制*控制給予*名稱* - 如果是這種情況,我會建議使用'字典<名稱,控制>'或類似的(雖然也許一般設計是icky?)Controls集合可以手動迭代 - 但更多ick。 – 2011-03-02 05:41:44

回答

1

請參閱here關於問好問題。

我打算假設你粘貼了錯誤的代碼,因爲它似乎與問題afaik沒有任何關係。如果這是winform,wpf或web,Plus可以編輯你的問題和標籤嗎?

在這裏,我動態地在運行時創建的控制:

Textbox c = new Textbox(); 

設置它的文本,比如

string s = "Please paste code that relates to your question"; 
c.Text = s; 

或者在這裏我動態設置我的TextBox控件屬性使用變量:

propertyInfo = c.GetType().GetProperty(property); 
if (propertyInfo != null) 
{ 
    propertyInfo.SetValue(c, value, null); 
} 
+0

我知道我對派對有點遲到,但最後一塊幫我解決了問題。 – Rig 2011-07-19 17:08:12

0

嘗試FindControl("controlID")然後將此調用的結果轉換爲所需的控件類型並設置所需的屬性。

(SomeParentControl.FindControl("IDOfControlToFind") AS LinkButton).PostBackUrl = "~/someresource.aspx";