2009-07-17 54 views
0

在C#上遇到一些小問題,對於該語言來說仍然很新穎,但希望能夠提供幫助。我有一個程序,它動態創建選項卡表單,然後我試圖將控件添加到表格(文本框和標籤),但無論我嘗試它,似乎都不想工作。下面是我目前使用的代碼(只是爲了獲得各形成一個文本框):C#動態添加文本到tabcontrol

int i = dogresults; 
while (i > 0) 
{ 
    i--; 
    DataRow dogrow = ds1.Tables["confirmdogs"].Rows[i]; 
    string dogname = dogrow.ItemArray.GetValue(3).ToString(); 
    TabPage newpage = new TabPage(dogname); 
    tcNewCustomer.TabPages.Add(dogname); 

    TextBox tb1 = new TextBox(); 
    tb1.Location = new Point(20, 10); 
    newpage.Controls.Add(tb1); 
    tb1.Name = "txtDogNo" + i; 
} 

任何幫助將不勝感激!

+0

請參閱編輯我的答案 - 這是一個簡單的小錯字:) – 2009-07-17 09:16:00

回答

1

編輯:Doh!得到它了!

您並未添加您正在創建的新TabPage。這條線:

tcNewCustomer.TabPages.Add(dogname); 

應該是這樣的:(一個小的測試應用程序顯示,而不與第一個版本的任何文本框所創建的標籤頁,但與第二個版本工作正常)

tcNewCustomer.TabPages.Add(newpage); 


這看起來不錯一目瞭然(雖然我還沒有嘗試過 - 一個簡短而完整的演示程序將幫助)。當你說它「似乎不想工作」 - 究竟發生了什麼?

您是否嘗試將位置向下移動?我知道一些控制在他們的邏輯「頂」(即它不是第一個可見像素)方面是奇怪的。

+0

正如我猜你假設,它只是不可見。嘗試移動位置點內的x,y合作伙伴,但仍然沒有任何結果。 – 2009-07-17 09:06:12

+0

好的,我會嘗試重現它。 – 2009-07-17 09:10:40

+0

哦,天哪,真是個愚蠢的錯誤!非常感謝:) – 2009-07-17 09:19:33

0

如何在文本框中設置文本?目前你只是設置名稱...

雖然我仍然希望你看到框+背景顏色上的邊框,假設它與tabpage背景不同。

+0

只是給了一個嘗試,但它仍然不可見 – 2009-07-17 09:07:43

相關問題