- ベストアンサー
テキストボックスが複数縦横に並んでいる物でFor~nextを使って参照したいのですが・・・
宜しくお願い致します。 テキストボックスが複数縦横に並んでいる物でFor~nextを使って参照したいのですが・・・やり方がわかりません。 基本的には2次元的な形になりますが、textbox00がありその横にはtextbox01…05…08と続き縦にはtextbox00の次にtextbox10…50…80が続く感じで、最終的にはtextbox88までなるようにしたいのですが、方法がわかりません。 どなたか御教授を宜しくお願い致します。
- みんなの回答 (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)
こんな感じで 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
- n-jun
- ベストアンサー率33% (959/2873)
どのソフトの、どのTextBoxとか提示された方がいいかも。
お礼
ありがとうございます。 忘れてました。 VB2005です。
お礼
ありがとうございました。 実際に実行してみました。 雰囲気的なものはなんとなく分かり、少し自分で変更するとテキストボックス内に記述されている数字を配列で格納することができるかと思って自分で挑戦してみたのですが、結果は無理でした。 そこでもう一度お願いできたらと思ったのですが、記述していただいたコードにさらに複数のテキストボックスに記述している数値を配列に数値として格納する方法加えるとしたらどのように記述したら宜しいでしょうか?? 是非、教えていただけたらと思います。 宜しくお願い致します。