新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
会。vb.netwinform是会闪烁的,其作用就是为了双缓冲,解决控件刷新。而WinForm就是.Net开发平台中对WindowsForm的一种称谓。
创新互联-专业网站定制、快速模板网站建设、高性价比鄂尔多斯网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式鄂尔多斯网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖鄂尔多斯地区。费用合理售后完善,10余年实体公司更值得信赖。
我说一下思路:
先从控件工具栏拖一个Timer控件(图标是表的那个)到界面
双击界面的Timer控件,在Timer的Tick事件里面,加一个判断,就是当那个要闪烁控件的visible属性等于true的时候,就赋值成false,否则当那个要闪烁控件的visible属性等于false的时候,就赋值成true
将Timer控件的的Interval属性设置成1000,因为这个是毫秒作为单位的,1000毫秒就是1秒,你也可以根据你的需要自行设置
将Timer控件的的Enable属性设置成true(如果使用其它控件控制,可以设置成false,然后再那个控件的click事件里面将其设置成true)
给你看一下代码:
Private Sub Form_Load()
Timer1.Interval = 1000 '设置闪烁间隔时间,这个单位是毫秒,1000毫秒就是1秒
End Sub
Private Sub Timer1_Timer() '这里的Text1是控件名称,我这里使用的是一个文本框举例,你可以换成其它的控件的控件名
If Text1.Visible = True Then
Text1.Visible = False
Else
If Text1.Visible = False Then
Text1.Visible = True
End If
End If
End Sub
VB.NET画图是不能设置双缓冲的,双缓冲是指窗体,从来没说是针对控件。
不用graphic.clear清理重画就不会闪烁。你可以先把容器删了再重新建立一个再去画。
简单举例:
Graphics g;
Pen p;
Panel pl;
构造函数初始化:
p=new Pen(Color.Red,2);
pl=panel1;
造成闪烁的画法:
g=pl.CreateGraphics();
g.Clear(SystemColor.ButtonFace);
//.....画新的
不会闪烁的办法:
this.Controls.ReMoveAt(panel1);
pl=new Panel();
pl.Name="panel1";
//....创建容器控件
this.Controls.Add(pl);
//继续画
这个问题我以前也遇到过,好像是显卡或显卡的驱动问题,在更换显卡(比较好一点的显卡)后问题解决了。