C# winfrom界面跳转闪烁问题解决方法

在窗体的构造函数中添加代码:

 SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
            SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲

然后在构造函数下面,写以下方法:

 #region 解决闪烁问题
        protected override void WndProc(ref Message m)
        {
            if (m.Msg == 0x0014) // 禁掉清除背景消息
                return;
            base.WndProc(ref m);
        }

        protected override CreateParams CreateParams
        {
            get
            {
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x02000000;
                return cp;
            }
        }
        #endregion

这种方法的确可以解决闪屏问题,在电脑上切换没有问题,但是在触控机上切换会有黑色的一条条,暂时还未解决,就是第一次进来的时候有,希望看到此贴的人,如果有什么好的方法,欢迎下方评论,谢谢

原文地址:https://www.cnblogs.com/aijiao/p/9956138.html

时间: 2024-10-22 16:16:55

C# winfrom界面跳转闪烁问题解决方法的相关文章

winform频繁刷新导致界面闪烁解决方法

转自龙心文 原文 winform频繁刷新导致界面闪烁解决方法 一.通过对窗体和控件使用双缓冲来减少图形闪烁(当绘制图片时出现闪烁时,使用双缓冲) 对于大多数应用程序,.NET Framework 提供的默认双缓冲将提供最佳效果.默认情况下,标准 Windows 窗体控件是双缓冲的.可以通过两种方法对窗体和所创作的控件启用默认双缓冲.一种方法是将 DoubleBuffered 属性设置为 true,另一种方法是通过调用 SetStyle 方法将 OptimizedDoubleBuffer 标志设置

从三级界面直接跳回一级调用方法

//从三级界面直接跳回一级调用方法 [self.presentingViewController.presentingViewController dismissViewControllerAnimated:YES completion:nil];

zabbix中文乱码问题解决方法(Zabbix 2.2.3)

我把zabbix安装完成后,调整为中文界面,出现乱码. 原因:因为没有中文字体,没有设置显示字体为中文. 解决方法(网络整理收集): 1.获取一个字体文件,上传至zabbixServer的web目录fonts文件夹(/data/www/zabbix/fonts), Windows → 控制面板 → 字体 命名为小写字母 2.修改配置文件,/www/zabbix/include/defines.inc.php //define('ZBX_FONT_NAME', 'DejaVuSans'); def

本地推送通知界面跳转demo

本地推送通知界面跳转demo: /* 1.在发送本地通知的时候,通过userInfo属性来指示跳转到那个界面 2.监听本地通知的接收 1.当收到本地通知就会调用该代理方法 调用场景 1.如果应用程序在后台,当点击通知的时候 2.如果应用程序在前台,一旦收到本地通知,就会调用该方法 所以:判断如果应用程序在前台时候,不要执行界面跳转,来提高用户体验 3.如果应用程序被杀死了,那么这个方法就不再执行了 //- (void)application:(UIApplication *)applicatio

界面跳转:Intent的使用

1)A-->B startActivity(Context,.class); 2)A-->B-->A A:startActivityForResult(intent,0);   (此处的0为requestCode) B:  a)Intent intent = new Intent();/Intent intent= getIntent(); b)intent.putExtra("",""); c)setResult(0,intent);    (此

Zip文件中文乱码问题解决方法(MAC->Windows)

前言: 最近收到的ZIP交互原型,打开查看中文一堆乱码.主要是产品都是高大上啊,用的都是MAC,咱酷毙用的Windows,话说安卓APP,你用MAC搞啥啊.可恨的压缩用的是zip,不是rar之类的.为了咱用Windows开发及测试的屌丝,分享下解决方法.如你高在上,用的MAC,请跳过本文. 目录: 1.问题 2.解决方法 1.问题 现象: a.ZIP文件,360压缩3.1正式版查看.解压中文为乱码. b.ZIP文件,Winrar 3.7压缩查看.解压中文为乱码. 2.解决方法 方法一:安装新版本

GDI+ 绘图闪烁解决方法

闲着没事,准备做一个类似于TeeChart的自定义控件,结果第一步的绘图就把我给难倒了,虽然早就知道GDI绘图的闪烁问题很坑,但是却没有想到如此之坑,折腾了两天,才找到解决方法. 首先在窗体加载的时候,加入双缓存,说实话以前一直没觉得这个双缓存有什么用,不过这次总算是有了点儿效果. DoubleBuffered = true; SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlSt

Java中轻松实现界面跳转

作者:兄弟连Java中轻松实现界面跳转,Java中轻松实现界面跳转 假设这样一种情况,我们的系统的界面使用javax.swing包构建,界面的基础是BaseView,他是一个容器,当然他应当提供获取控件元素的功能,比如得到按钮,下拉框,表格等,当然仅仅是一个容器而已,而我们的界面的元素全部部署在JPanel上. 描述为: 一个界面就是一个BaseView,他只包含一个JPanel,这个包含JPanel包含所有我们的Swing控件,例如JButton,JLable等等. 问题出现了:我们通常因为业

Android Intent实现界面跳转切换,随时记录一下

好久不用Android,今天突然用到了Intent实现界面跳转. Intent方法:Intent itent = new Intent(); intent.setClass(**Activity1.this,**Activity2.class); **Activity1.this.startActivity(intent); 不要忘记在AndroidManifest.xml中需要注册**Activity2. <activity android:name=".**Activity2"