• ベストアンサー

VB.NETで複数のTextBoxのTextプロパティを設定する方法

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

質問者が選んだベストアンサー

  • ベストアンサー
  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.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.html
XkakizakiX
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • UserFormのTextBoxのプロパティの違い

     UserFormのTextBoxのプロパティのValueプロパティとTextプロパティはどちらも同じ値が表示されますが、この2つのプロパティは何が違うのでしょうか?  もし同一のものならばどちらか一方のみがあれは済む話ではないでしょうか? ※ 別にどちらを使えば良いのか迷っている訳ではありませんので、「どちらでも良い」といった類の回答は御遠慮願います。

  • VB .net コントロールのプロパティ設定方法

    Visual Basic 2010を勉強しています。 フォームに貼り付けたコントロールのプロパティの設定についてですが、 今までは、貼り付けた後にプロパティウインドウで直接いじっていました。 (Text、Font、Imageなど...) ですが、知人が書いたコードを見ていると、コードの中で設定しているようなのです。 プロパティウインドウで設定した方が、視覚的にも確認しながら設定できるのでそうしていたのですが、コード内で設定するのと違いはあるのでしょうか?(パフォーマンスやコードの見やすさなど...) 動的にコントロールを配置したい時や、プロパティを変更したい場合にはコード内で操作しますが、初期設定やラベル等の変更することがないようなコントロールに関しては、どちらでも同じような気がするのですが... 実際に皆さんがどうされているのかも気になり、質問させて頂きました。 以上、何卒よろしくお願いいたします。

  • C#で複数のTextboxから検索してTextを書き込む

    C#初心者で困っています OS XP VS2008 ASP.NET C# で作業しています 複数のTextboxを作成して、そのTextboxのTextプロパティに値を書き込もうとしています。 for(int z=1; z<100; z++) { string tt = z.ToString(); Control tx = FindControl("TextBox" + tt); tx.text = "ccccccc"; } txのtextプロパティが出てきません。 どのようにすれば、textプロパティを書き換えることができるのでしょうか、ご教授をお願いします。

  • VB6.0でのTextboxの高さ変更

    VB6.0を使用しています。 下記のようにテキストボックスを動的配置した際にボックスの高さを変更したいのですが、文字の大きさ等に依存しているよう?で変更できません。 よく似た質問でMultiline をTrueにするような物があり、試してみましたがエラーとなってしまいます。 もう少し小さくしたいのですが何を変更・追加すればよいのでしょうか? どなたかご教授願います。 Private Sub Form_Load() Dim add_tbox As TextBox Set add_tbox = Controls.Add("VB.textbox", "text") With add_tbox .Text = "aaa" .Height = 240 '---テキストボックスの高さ .Left = 2270 .Top = 1700 .Width = 350 .FontSize = 9 '.MultiLine = False ---これを追加するとエラー"値の取得のみ可能なプロパティに値を設定する事はできません" .Visible = True End With MsgBox add_tbox.Height '---テキストボックスの高さ確認(270となっている) End Sub

  • VB5でTextBoxを入力不可能にする方法は?

    VisualBasic5で開発を行っているのですが、TextBoxの入力を不可能にする(入力カーソルもそこに移動できない)必要が出てきました。 もちろんEnabledプロパティをFalseにする方法があるのですが、この場合文字の色がグレーに変わってしまいます。 また、Labelを使用するパターンも「入力出来たり、入力不可にする」という取り決めがあるので、使えません。 TextBox内の文字色(BackColorも)をそのままにして、入力を拒絶する方法があれば、どなたか教えてください。 もちろんAPIを使用する方法でもかまいませんので…

  • vb6のTEXTBOX

    教えて下さい。 vb6の環境下でTextbox、もしくはLabelのでそれに表示させる文字位置を枠内のセンターに持っていきたいのですが、その方法を教えて下さい。 横方向はプロパティ-でセンターに持っていけるのですが。縦方向がわかりません。教えて下さい。

  • EXCEL VBAのTextBoxプロパティについて

    こんばんは。 シート2のセルF3に「11時08分54秒」と表示されており、 これをUserForm1のTextBox4にも「11時08分54秒」と 表示させたいのですが属性の違いでしょうか?うまく表示 できません。 コード:UserForm1.TextBox4.Text = Sheet2.Range("F3").Value TextBoxのプロパティをいじったり、ネット検索してもヒットせず 進展しないため、アドバイス願います。

  • 複数のボタンを、プロパティを引数に、ひとつのイベントに飛ばしたい

    VB2005 Expressを使っています。 デザインでButton1、Button2、 Button25までコピーペーストで 配置し、名称はそのままButton1からButton25とします。 TextもそのままButton1からButton25とします。 テキストボックスをひとつだけ作り名称は、TextBox1で TextBox1のテキストは、空白とします。 各ボタンを押したら、そのボタンの名称、 または そのボタンのTextでも構いません Tagでもいいです。 (例="Button5")を、 TextBox1に表示するプログラムを作る場合 Button1をクリックした時のPrivateSub(みたいなやつ)   TextBox1.Text="Button1"  End Sub を25回、書けばコードが長く なってしまいますが、 できれば   For a=1 to 25 When Click Button(a) Then (みたいな感じ) TextBox1.Text="Button"& a Next こういう、[!感じ] でコードを短くしたいのですが、 よい方法があれば教えてください。

  • ボタンをクリックした時にForm1のTextプロパティに値を代入する方法

    ボタンをクリックした時に Form1のTextプロパティに値を代入する方法 が不明です form1.text=”sample” とVB6では出来たと思ったのですが、 .netではどうなるのでしょうか?

  • vb6.0 sp5 TEXTBOXのプロパティでストール

    VB初心者です。 vb6.0 sp5でTEXTBOXのプロパティでフォントを選択するとPCが10分以上固まってしまいます。フォーム数が増えるにしたがって時間が長くなっているような気がします。どなたか原因なり対策なりをお教え願えないでしょうか? OSはXP PRO SP1です。ハード的には問題はないと思われます。 よろしくお願いします。