请问,VB.NET TabControl1控件加载NewTabPage1页,NewTabPage1里面的DataGridView1事件没反应?

2025-01-02 12:39:04
推荐回答(1个)
回答1:

题主是不是用的 TabControl1.Controls.Add(TabPage1) 或者 TabControl1.TabPages.Add(TabPage1) 这种方法添加的?

这样的话不但添加的第二个页面是空白的,第一个页面也会变成空白,因为对系统来说,存在了两个 TabPage1,而原先 TabPage1 里的控件用的是 Me.TabPage1.Controls.Add(Label1) 之类的方法添加进去的,有两个 TabPage1 系统就糊涂了不知道是该往哪一个里面加,所以就出现了两个都是空白的。

可以用的变通的方法实现。

比如:

用一个 Panel 承装 TabPage1 里的所有控件,在选中 TabPage2 时,执行

TabPage1.Controls.Remove(Panel1)

TabPage2.Controls.Add(Panel1)

先移除再添加,这样就不会出错了。

再比如:

最初设计 TabPage1 的时候就不要先添加进去,而是作为一个基类,有点儿说不明白,看代码吧: