アプリ版:「スタンプのみでお礼する」機能のリリースについて

TextBoxが10個,20個とある場合に同じ値(もしくは異なる値)をコードでTextプロパティに設定する際の簡単な設定方法があれば教えて下さい。
それとも、一つずつ設定していくしかないのでしょうか?

A 回答 (1件)

動的にコントロールオブジェクトの配列を作成するのか最も良い方法でしょう。



フォーム(Form1)にボタンコントロールの配列を作成し、ボタンをクリックするとそのボタンのTextを表示する例を以下に示します。ここではフォームのLoadイベントハンドラでボタンコントロールの配列を作成していますが、コンストラクタの適当な位置で行っても結構です。

[VB.NET]
'ボタンコントロール配列のフィールドを作成
Private testButtons() As System.Windows.Forms.Button

'フォームのLoadイベントハンドラ
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
'ボタンコントロール配列の作成(ここでは5つ作成)
Me.testButtons = New System.Windows.Forms.Button(4) {}

'ボタンコントロールのインスタンス作成し、プロパティを設定する
Me.SuspendLayout()
Dim i As Integer
For i = 0 To Me.testButtons.Length - 1
'インスタンス作成
Me.testButtons(i) = New System.Windows.Forms.Button
'プロパティ設定
Me.testButtons(i).Name = i.ToString()
Me.testButtons(i).Text = i.ToString()
Me.testButtons(i).Size = New Size(30, 30)
Me.testButtons(i).Location = New Point(i * 30, 10)
'イベントハンドラに関連付け
AddHandler Me.testButtons(i).Click, _
AddressOf Me.testButtons_Click
Next i

'フォームにコントロールを追加
Me.Controls.AddRange(Me.testButtons)
Me.ResumeLayout(False)
End Sub

'Buttonのクリックイベントハンドラ
Private Sub testButtons_Click(ByVal sender As Object, _
ByVal e As EventArgs)
'クリックされたボタンのNameを表示する
MessageBox.Show(CType(sender, System.Windows.Forms.Button).Name)
End Sub

参考URL:http://dobon.net/vb/dotnet/control/buttonarray.h …
    • good
    • 0
この回答へのお礼

なるほど。
このサイトは知っていましたが、
なにぶん未熟者で気がつきませんでした。
早速明日にでも試してみます。
ありがとうございます。

お礼日時:2006/01/12 21:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!