我根據一些條件另一個控制
if(x = true)
dv1.Controls.Add(lnkTest);
else
dv2.Controls.Add(lnkTest);
由於我增加了許多控制所以可讀性的原因,我將檢查所有其他控件後,這種情況下添加一個控制之前添加的控制。但它會在所有控件添加控件lnkTest
之後調用它們。在將代碼移到我想要的適當位置時,我沒有任何問題,但它會降低可讀性。我只是想知道是否有任何方法可以在任何控制之前添加lnkTest
?
我根據一些條件另一個控制
if(x = true)
dv1.Controls.Add(lnkTest);
else
dv2.Controls.Add(lnkTest);
由於我增加了許多控制所以可讀性的原因,我將檢查所有其他控件後,這種情況下添加一個控制之前添加的控制。但它會在所有控件添加控件lnkTest
之後調用它們。在將代碼移到我想要的適當位置時,我沒有任何問題,但它會降低可讀性。我只是想知道是否有任何方法可以在任何控制之前添加lnkTest
?
AddAt方法允許您指定要插入控件的位置索引。使用指數0一開始:
dv1.Controls.AddAt(0, lnkTest);
但是注意,這將任何兒童,包括那些你沒有插入自己之前插入lnkTest
。所以,你應該,也許,記得那裏的插入應該發生的地方:
int start = dv1.Controls.Count();
// insert all other controls
dv1.Controls.AddAt(start, lnkTest);
請記住,你需要做的,無論對於dv1
和dv2
。在那一點上,我認爲你的if
可能不會損害可讀性而不是這種記憶。
只需使用AddAt
方法是這樣的:
dv1.Controls.AddAt(0, lnkTest);
參考:ControlCollection.AddAt Method
在指定的索引位置將指定的控制對象添加到集合。