加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

winform flash

发布时间:2020-12-15 07:19:04 所属栏目:百科 来源:网络整理
导读:在启动一个新窗口的时候,类似的代码如下 ? ?DetectionConfirm ii = new DetectionConfirm(); ? ? ? ? ? ? ? ? if (ii.ShowDialog() == DialogResult.OK) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? PowerUtil.ShowPower(this.panel1); ? ? ? ? ? ? ? ? ? ? thi

在启动一个新窗口的时候,类似的代码如下


? ?DetectionConfirm ii = new DetectionConfirm();
? ? ? ? ? ? ? ? if (ii.ShowDialog() == DialogResult.OK)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? PowerUtil.ShowPower(this.panel1);
? ? ? ? ? ? ? ? ? ? this.Show();
? ? ? ? ? ? ? ? }


这个新窗体可能图片资源比较多,以及需要通过panel做透明处理,那么在硬件性能较低的情况下,可能会有明显的闪烁。

解决方法就是让窗口延时显示


先托个Timer到设计器里,时间间隔设成20毫妙就行了。

在主窗口构造函数未尾添加:
????????????this.Visible?=?false;

????????????this.Opacity?=?0;
????????????timer1.Start();
计时器函数:
???????void?timer1_Tick(object?sender,?EventArgs?e)
????????{
????????????timer1.Stop();
????????????this.Visible?=?true;
????????????this.Opacity?=?1;
????????}


参考:

http://bbs.csdn.net/topics/380212250

http://topic.csdn.net/u/20100921/14/724f3ca4-c083-42b9-b8c3-35bec4db9cbd.html




后面又发现一种神奇的方法,在窗体的cs文件中加入下面代码即可

protected?override?CreateParams?CreateParams
????????{

????????????get
????????????{
????????????????CreateParams?cp?=?base.CreateParams;
????????????????cp.ExStyle?|=?0x02000000;
????????????????return?cp;
????????????}
????????}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读