フォーム構造:
a) form1 には 4 つのチェックボックスがあり、form2 には 4 つのタブページを持つ tabcontrol1 があります。
b) form1 の各チェックボックスは、form2 のタブページにリンクされています。
c) 各タブページには固定コントロールがあります。
上記の構造で次のことを達成しようとしていますが、
a) form1 の「OK」ボタンを使用して、チェックボックスがオンになっているタブページのみをユーザーに表示したい。
b) form2 の [キャンセル] ボタンを使用して、コントロールを含むすべてのタブページを復元したいと考えています。
以下を試しましたが、期待どおりに機能せず、空白のタブページが追加されます。
form1の「OK」ボタンの下のコード:
If CheckBox1.Checked Then
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(1))
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(2))
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(3))
End If
If CheckBox2.Checked Then
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(0))
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(2))
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(3))
End If
If CheckBox3.Checked Then
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(0))
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(1))
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(3))
End If
If CheckBox4.Checked Then
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(0))
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(1))
Form2.TabControl1.TabPages.Remove(Form2.TabControl1.TabPages(2))
End If
Me.Hide()
Form2.Show()
Form2 の [キャンセル] ボタンの下のコード:
Me.Refresh()
TabControl1.TabPages.Insert(1, TabPage2)
TabControl1.TabPages.Insert(2, TabPage3)
Me.Hide()
Form1.Show()