|
指摘事項が多いため、
何から指摘して良いかわからなかったため、
困っているであろう問題点を想像し、
回答してみます。
想像した問題点
1.ボタン1で動的にTextBoxを生成しているため、
ボタン2でTextBoxに入力された情報を取得できない。
2.ボタン1とボタン2内で、共通として利用できる変数を定義
する方法がわからない。
ご希望の処理結果ではありませんが、
ご参照いただければと存じます。
Public Class Form1
Private number As Integer
Private rows As Integer
Private columns As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Bounds = New Rectangle(10, 10, 1300, 800)
If Not Integer.TryParse(TextBox3.Text, number) Then
MessageBox.Show("数字で入力してください", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
If Not Integer.TryParse(TextBox1.Text, rows) Then
MessageBox.Show("数字で入力してください", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
If Not Integer.TryParse(TextBox2.Text, columns) Then
MessageBox.Show("数字で入力してください", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
For k = 1 To number
For i = 1 To rows
For j = 1 To columns
Dim tb As TextBox = New TextBox()
tb.Name = "R" & i.ToString() & "C" & j.ToString() & "No" & k.ToString()
Me.Controls.Add(tb)
tb.Top = (i - 1) * 30 + 80
tb.Left = (j - 1) * 60 + 70 * (columns * (k - 1)) + 10
tb.Width = 50
Next
Next
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim k, i, j As Integer
'結果を表示するTextBox群を作成
k = 0
For i = 1 To rows
For j = 1 To columns
Dim tb As TextBox = New TextBox()
tb.Name = "R" & i.ToString() & "C" & j.ToString() & "No" & k.ToString()
Me.Controls.Add(tb)
tb.Top = (i - 1) * 30 + 200
tb.Left = (j - 1) * 60 + 10
tb.Width = 50
Next
Next
'R1C1No1(入力)をさがす。子コントロールも検索する。
Dim cs1 As Control() = Me.Controls.Find("R1C1No1", True)
If cs1.Length <= 0 Then
MessageBox.Show("見つからなかった", "", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
'R1C1No0(結果)をさがす。子コントロールも検索する。
Dim cs0 As Control() = Me.Controls.Find("R1C1No0", True)
If cs0.Length <= 0 Then
MessageBox.Show("見つからなかった", "", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
'入力した内容を結果に反映
CType(cs0(0), TextBox).Text = CType(cs1(0), TextBox).Text
End Sub
End Class
|