0

UserControlその名前でにアクセスできますか?たとえば、私はすでにUserControl(同じプロジェクトで)という名前uc1Panel名前付きのを作成しPanel1ているので、次のようになります。

Dim a As String = "uc1"
Panel1.Controls.Add(a)
4

3 に答える 3

1

代わりに、次のようなことができます。

Dim c As Control = Me.Controls("uc1")

また

Dim c As Control = Me.Controls.Find("uc1", True)(0)

If c IsNot Nothing Then
    Panel1.Controls.Add(c)
End If

しかし、なぜ追加しないのですか:

Panel1.Controls.Add(uc1)

uc1(コントロールが内部的に保存されていると仮定します-> Dim uc1 As Control ...。)

于 2012-11-11T12:35:40.793 に答える
1

はい。スニペットにあるものに近いものではなく、Controls コレクションに文字列を追加することはできません。ただし、文字列を使用して Controls コレクションにインデックスを付けて、コントロールの参照を取得できます。このような:

Dim ctl as New MyUserControl
ctl.Name = "foo"
Panel1.Controls.Add(ctl)

...

Dim ctl as MyUserControl
ctl = DirectCast(Panel1.Controls("foo"), MyUserControl)
于 2012-11-11T12:38:04.123 に答える