2012-04-23 20 views
1

私は動的にこのロジックをC#でボタンを作成していC#で動的に作成されたボタンのテキストを取得しますか?

for (int i = 1; i <= vap; ++i) 
{ 
    newButtons[i] = new Button(); 
    newButtons[i].BackColor = Color.Gray; 
    newButtons[i].Name = "Button4" + i.ToString(); 
    newButtons[i].Click += new EventHandler(NewButtons_Click); 

    newButtons[i].Location = new System.Drawing.Point(width,height); 
    newButtons[i].Size = new System.Drawing.Size(76, 38); 

    tabPage5.Controls.Add(newButtons[i]); 
} 

これは、ボタンを作成して、クリックイベントにも取り組んでいるが、私の問題は、私は、新しく作成されたボタンのテキストを取得する方法がわからないです。フォームの読み込み時に、データベースからボタンのテキストを入れていますが、これも正しく行われますが、動的に作成されたボタンのテキストを取得する方法を知りたいと思います。

+2

あなたは 'newButton [i] .Text'を試しましたか?コード内で –

+3

を使用している場合は、テキストプロパティを設定していません。一度それを設定すると、NewButtons_Clickイベントから送信者パラメータを調べることができ、ボタン自体であることが分かるので、テキストを戻すことができます。これが助けにならない場合は、最初にテキストを設定する場所と、テキストを取得したい時/場所/イベントハンドラの場所を説明してください。 –

+0

いつボタンのテキストを取得しますか? –

答えて

4

データベースからデータを読み込むまでテキストを取得することはできません(テキストを早く取得しないよう注意してください)。

しかし、これは動作するはずです:

string buttonText = FindControl("Button41").Text; 

更新

あなたはクリックイベント内からボタンのテキストをしたいので、あなたは送信者のオブジェクトにアクセスすることができます使用

Button button = sender as Button; 
string buttonText = button.Text; 
+0

ありがとう、この作業はありがとうございます。 – alternatefaraz

0

ボタンを追加するときに、ボタンのプロパティーをTextに設定するだけで済みます。

0

を...

文字列BtnTxt = FindControl( "ExampleButton1")。テキスト。

は正常に動作するはずです。

ボタンのテキストコンテンツをランダムな順序でプルしようとすると、後で問題が発生することがあります。

関連する問題