0

表格结构:

a) 在 form1 上有 4 个复选框,而 form2 有一个带有 4 个标签页的 tabcontrol1。

b) form1 上的每个复选框都与 form2 上的标签页链接。

c) 每个标签页都有固定的控件。

我正在尝试使用上述结构实现以下目标,

a) 使用 form1 上的“确定”按钮,我只想向用户显示选中复选框的那些标签页。

b)使用form2上的“取消”按钮,我想恢复所有带有控件的标签页。


我尝试了以下操作,但它没有按预期工作并添加了空白标签页。

form1上“确定”按钮下的代码:

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()
4

1 回答 1

0

不要删除标签页,而是使用 TabPage 的 Hide() 和 Show() 函数。

于 2012-12-12T05:06:30.317 回答