プロが教えるわが家の防犯対策術!

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

どなたか御教授を宜しくお願い致します。

A 回答 (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())

努力しましょう
    • good
    • 0

こんな感じで



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
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/12/16 13:25

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2008/12/15 22:02

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