• ベストアンサー

テキストボックスが複数縦横に並んでいる物でFor~nextを使って参照したいのですが・・・

宜しくお願い致します。 テキストボックスが複数縦横に並んでいる物でFor~nextを使って参照したいのですが・・・やり方がわかりません。 基本的には2次元的な形になりますが、textbox00がありその横にはtextbox01…05…08と続き縦にはtextbox00の次にtextbox10…50…80が続く感じで、最終的にはtextbox88までなるようにしたいのですが、方法がわかりません。 どなたか御教授を宜しくお願い致します。

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

  • ベストアンサー
  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.3

Dim arr1 As Integer() = New Integer(88) {}   '1次元配列の場合 Dim arr2 As Integer(,) = New Integer(8, 8) {}  '2次元配列の場合 For x As Integer = 0 To 8   For y As Integer = 0 To 8     Dim controlName As String = String.Format("TextBox{0}{1}", x, y)     If TypeOf Me.Controls(controlName) Is TextBox Then       Dim txt As TextBox = CType(Me.Controls(controlName), TextBox)       If (Not String.IsNullOrEmpty(txt.Text)) Then         MessageBox.Show(Me, String.Format("{0}は値が入力されています", controlName))       End If       Integer.TryParse(txt.Text, arr1(x * 8 + y)) '1次元配列の場合       Integer.TryParse(txt.Text, arr2(x, y))   '2次元配列の場合     End If   Next Next ''確認 1次元配列の場合 Dim prompt As New System.Text.StringBuilder() For x As Integer = 0 To 88   prompt.Append(arr1(x)) Next MessageBox.Show(Me, prompt.ToString()) ''確認 2次元配列の場合 prompt = New System.Text.StringBuilder() For x As Integer = 0 To 8   prompt.Append("|")   For y As Integer = 0 To 8     prompt.Append(arr2(x, y))     prompt.Append("|")   Next   prompt.AppendLine() Next MessageBox.Show(Me, prompt.ToString()) 努力しましょう

その他の回答 (2)

  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.2

こんな感じで For x As Integer = 0 To 8   For y As Integer = 0 To 8     Dim controlName As String = String.Format("TextBox{0}{1}", x, y)     If TypeOf Me.Controls(controlName) Is TextBox Then       Dim txt As TextBox = CType(Me.Controls(controlName), TextBox)       If (Not String.IsNullOrEmpty(txt.Text)) Then         MessageBox.Show(Me, String.Format("{0}は値が入力されています", controlName))       End If     End If   Next Next

munou1go
質問者

お礼

ありがとうございました。 実際に実行してみました。 雰囲気的なものはなんとなく分かり、少し自分で変更するとテキストボックス内に記述されている数字を配列で格納することができるかと思って自分で挑戦してみたのですが、結果は無理でした。 そこでもう一度お願いできたらと思ったのですが、記述していただいたコードにさらに複数のテキストボックスに記述している数値を配列に数値として格納する方法加えるとしたらどのように記述したら宜しいでしょうか?? 是非、教えていただけたらと思います。 宜しくお願い致します。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

どのソフトの、どのTextBoxとか提示された方がいいかも。

munou1go
質問者

お礼

ありがとうございます。 忘れてました。 VB2005です。

関連するQ&A