2009-07-17 56 views
0

C#には少し問題がありますが、まだまだ新しいことですが、あなたが助けてくれることを願っています。私は動的にタブフォームを作成し、タブフォーム(テキストボックスとラベル)にコントロールを追加しようとしているプログラムを持っていますが、何を試しても機能しないようです。ここで私が現在使用しているコードだ(ただ、各フォーム内の1つのテキストボックスを取得する):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

私の答えを編集してみてください - これは簡単なタイプミスです:) –

答えて

1

EDIT:Doh!とった!

作成している新しいタブページを追加していません。このライン:

tcNewCustomer.TabPages.Add(dogname); 

は次のようにする必要があります:

tcNewCustomer.TabPages.Add(newpage); 

(小テストアプリは最初のバージョンで任意のテキストボックスなしで作成されたタブページを示していますが、2番目のバージョンが正常に動作しています。)


一見すると大丈夫です(私は試していませんが、短くて完全なデモプログラムが役に立ちます)。あなたはそれが「仕事をしたくない」と言っているとき、何が起こっているのですか?

位置を少し下に移動しようとしましたか?私は、論理的な「トップ」がどこにあるかという点で、いくつかのコントロールが奇妙であることを知っています(つまり、最初の可視ピクセルではありません)。

+0

私はあなたが推測しているように、それは単に見えません。場所の点の中でx、y座標を移動しようとしましたが、まだ何もありません。 –

+0

さて、私はそれを再現しようとします。 –

+0

ああああ、私は、愚かな間違いだった!ありがとうございました:) –

0

テキストボックスにテキストを設定するのはどうですか?現在のところ、名前を設定しているだけです...

私はまだあなたがボックス+背景色をタブページの背景とは異なると仮定して境界線を表示することを期待します。

+0

試してみましたが、まだ見えません –

関連する問題