2011-10-11 38 views
0

我正在將控件動態添加到我的表單上,但我看不到這些新控件。動態添加的控件不會顯示在我的表單上

我的代碼是:

frmFormulario myform = new frmFormulario(); 

for (int i = 0; i < elements.Count; i++) 
{ 
    String nm = elements[i].name; 
    String chk = "chk"+nm; 
    CheckBox checkboxWS = new CheckBox(); 
    checkboxWS.Name = chk; 
    checkboxWS.Checked = true; 
    checkboxWS.Visible = true; 

    checkboxWS.Width.Equals(40); 


    myform.Controls.Add(checkboxWS); 
    myform.Controls.SetChildIndex(checkboxWS, 0); 
} 

任何人能發現這個問題?

感謝

我的環境是C#的Visual Studio 2010

+2

Windows窗體? Web表單? WPF? Silverlight的? –

+4

您正在爲循環的每次迭代創建一個新的'frmFormulario'實例 - 這是您的意思嗎? – Nick

+0

謝謝尼克我會改變它! – JMG

回答

1

嘗試增加

myform.Show(); //or myform.ShowDialog; 

for循環。如果你想完全在這個新窗口(myform)上工作,並放棄前者或父母,那麼嘗試在新線程中創建它。

希望它有幫助。

0

你在哪裏展示myForm的,frmFormulario的實例?
當前您正在創建一個新表單並且不顯示它。

+1

這是一個評論或答案?看起來更像前者。請在評論中澄清。 –

+0

@Anthony Pegram:......接受的「答案」和我的「評論」有很大的不同。我的「評論」是爲了讓OP在正確的軌道上得到答案...當然...我也可以寫myform.Show(); ...(嘿...我只是)...問題不是答案...問題是這個問題...我會讓你考慮一下......; –

1

您正在循環以及控件中創建一個新窗體。一旦循環完成,它就會超出範圍。我相信你不想那樣做,而是將它們添加到現有的表單中。

+0

謝謝orn !!是的,我試圖添加到現有的表單 – JMG