2009/11/12(Thu) 15:52:47 編集(投稿者)
2009/11/12(Thu) 15:51:53 編集(投稿者)
<pre><pre>■No43553 (επιστημη さん) に返信
>> Controls(sTxtName).Text = "123"
>
> 入れ子になったコントロールも探してくれるのかしら?
入れ子になってると意外と面倒ですね。コンテナ単位でControlCollectionを保持してい
るようなので↓みたいなプログラムを作成しないといけないみたいです。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sTxtName As String = "TextBox1"
Dim target As Control = Nothing
target = GetControl(Me, sTxtName)
If Not target Is Nothing Then
target.Text = "123"
End If
End Sub
Private Function GetControl(ByVal src As Control, ByVal txtName As String) As Control
Dim target As Control = Nothing
If Not src.Controls Is Nothing Then
If src.Controls(txtName) Is Nothing Then
For i = 0 To src.Controls.Count - 1
target = GetControl(src.Controls(i), txtName)
If Not target Is Nothing Then
Exit For
End If
Next
Else
target = src.Controls(txtName)
End If
End If
Return target
End Function
> 名前がカブってるときとかは?
>
こちらの意図はわかりませんでした。
別フォームと言うことでしょうか?(Form1.TextBox1 と Form2.TextBox1?)
上記の解釈で合っているのならコンテナ単位でControlCollectionを保持しているので問題はないはずです。</pre></pre>