vb.net TabControl切换TabPage时,TabPage内的PictureBox不能显示出图片
我的TabControl有两个TabPage,其中TabPage2内有个PictureBox1,当我TabPage1切换到TabPage2时,利用PrivateSubTa...
我的TabControl有两个TabPage,其中TabPage2内有个PictureBox1,当我TabPage1切换到TabPage2时,利用 Private Sub TabControl2_Selected(ByVal sender As Object, ByVal e As System.Windows.Forms.TabControlEventArgs) Handles TabControl1.Selected 触发
在TabPage2内的PictureBox1中画一个扇形,但是PictureBox1内却是空的,在TabPage2内做了个按钮,同样的画扇形的代码,点击就可以画出来,切换却不行,当我再点击TabPage1的一瞬间,可以看到我的扇形,为什么?(切换的条件也没有问题,当切换的时候,给label赋值都可以)
如果我把PictureBox1从TabPage2拿出来,放在Form1中就可以显示出来图形,切换TabPage就可以显示。。。 展开
在TabPage2内的PictureBox1中画一个扇形,但是PictureBox1内却是空的,在TabPage2内做了个按钮,同样的画扇形的代码,点击就可以画出来,切换却不行,当我再点击TabPage1的一瞬间,可以看到我的扇形,为什么?(切换的条件也没有问题,当切换的时候,给label赋值都可以)
如果我把PictureBox1从TabPage2拿出来,放在Form1中就可以显示出来图形,切换TabPage就可以显示。。。 展开
1个回答
展开全部
想必你一定是用PictureBox1的graphics直接绘制的,不存在程序语句错误,问题在于绘制后TabPage切换时并没有被自动刷新,所以图形存在但不显示(按钮点击可以画出来相当于手工刷新了)
你可以定义一个bitmap,在TabControl2_Selected函数中先用这个bitmap的graphics绘制图形,然后PictureBox1.Image=这个bitmap
你可以定义一个bitmap,在TabControl2_Selected函数中先用这个bitmap的graphics绘制图形,然后PictureBox1.Image=这个bitmap
追问
你说的方法可行,但是除了用bitmap,可不可以用什么方法刷新一下呢?一定要这样么?
追答
除非你把这个graphics.draw操作放在窗体的paint事件函数中,但我觉得在存在界面元素变换的程序中那是一种低效行为
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询