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

我是从VB转到VB.NET的,做了TabControl控件,用NewTabPage1打开其它的窗体,想做成网页打开效果。窗体中有DataGridView1控件,加载填充窗... 我是从VB转到VB.NET的,做了TabControl控件,用NewTabPage1打开其它的窗体,想做成网页打开效果。窗体中有DataGridView1控件,加载填充窗体后,发现DataGridView1里面的事件没有被执行。窗体单独运行的时候,就可以的。不知道怎么回事?想问一下,各位老师。望指点一下 展开
 我来答
司马刀剑
高粉答主

2019-06-13 · 每个回答都超有意思的
知道顶级答主
回答量:4.6万
采纳率:93%
帮助的人:7462万
展开全部

题主是不是用的 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 的时候就不要先添加进去,而是作为一个基类,有点儿说不明白,看代码吧:

追问

窗体全部加载成功,而且效果也实现了!就是被加载窗体有部份事件没有触发
被加载窗体有个DataGridView1_RowPrePaint事件,没有被触发!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式