![VB.NET源码-156个实用实例哦……](http://www.zhzx123.com/VB.NET_03.gif)
切换窗口时屏幕闪烁的问题
在子窗口form 有控件tabcontrol1,tabcontrol1填充整个form,在form的load事件中有如下代码:
bmp2 = New Bitmap(TabPage1.Width, TabPage1.Height)
TabPage1.BackgroundImage = bmp2
g2 = Graphics.FromImage(bmp2)
g2.Clear(Color.Black)
TabPage1.Invalidate()
从父窗口切换到子窗口时就会发现子窗口闪烁,怀疑是改变了底色所致;但是如果直接运行子窗口,就没有闪烁,为何?前者怎样解决闪烁问题?
__________________________________________________________________________
1、很多人会告诉你使用双缓冲
2、.Net告诉你它就是喜欢闪动,谁也没脾气。
__________________________________________________________________________
双缓冲
SetStyle(ControlStyles.UserPaint, True)
SetStyle(ControlStyles.AllPaintingInWmPaint, True) ''禁止擦除背景.
SetStyle(ControlStyles.DoubleBuffer, True) '' 双缓冲
UpdateStyles()
__________________________________________________________________________
使用lovingkiss(坦白从良 抗拒强奸 桃花影落飞神贱)的代码还是要闪喔
__________________________________________________________________________
lovingkiss(坦白从良 抗拒强奸 桃花影落飞神贱): 用了你的方法还是闪!
谁有更好的方法呢?此段程序在VB2003下是没问题的,可移植到VB2005就闪个不停.
__________________________________________________________________________
hongyanse 你是不是还想问 为什么控件的尺寸会自己改变?我知道 但是 我不要加分 我要被请吃饭
__________________________________________________________________________