2

タブ内でWinFormコントロールを開くと、WinFormコントロールにアクセスできません。

Form1とForm2があります。Form1にはタブがあり、次のようにform2を開きます。

Dim ff As New Form2

ff.TopLevel = False
ff.FormBorderStyle = FormBorderStyle.None
ff.Width = TabControl1.TabPages(tabs).Width
TabControl1.TabPages(tabs).Controls.Add(ff)

すべて問題ありませんが、Form1からForm2コントロールにアクセスできません。

助けてくれてありがとう

4

1 に答える 1

1

コントロールコレクションにフォームを追加するときに、フォームを表示する必要があります。

TabControl1.TabPages(tabs).Controls.Add(ff)
ff.Visible = True

Form1に宣言があるので(おそらく)、controlsコレクションに直接アクセスできます。

For Each c As Control in ff.Controls
  ' do something with c
Next

「ff」がフォームレベルで宣言されていない場合は、nameプロパティをフォームに割り当てて、コントロールコレクションから見つけることができます。

Dim ff As New Form2
ff.Name = "ff"

じゃあ後で:

Dim ff As Form2
If TabControl1.TabPages(tabs).Controls.ContainsKey("ff") Then
  ff = TabControl1.TabPages(tabs).Controls("ff")
End If
于 2012-11-28T02:32:48.930 に答える