Winform自定义控件在界面拖动、滚动鼠标时闪烁的解决方法

环境说明:

项目中有一个基类窗体BaseForm,有一个自定义控件TextBoxBase,两个控件都做了一些独特常规的封装和重写,在TextBoxBase中有一点重绘的下划线,发现在窗体运行之后,在窗体上滚动鼠标滚轮,会导致TextBoxBase下划线闪烁。

解决办法:

重写两个控件的CreateParams方法。

BaseForm中添加:

protected override CreateParams CreateParams
{
    get
    {
            CreateParams cp = base.CreateParams;
            cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
            return cp;
    }
}

TextBoxBase中添加:

protected override CreateParams CreateParams
{
       get
      {
              var parms = base.CreateParams;
              parms.Style &= ~0x02000000; // Turn off WS_CLIPCHILDREN
              return parms;
       }
}

问题解决。

以上所述是小编给大家介绍的Winform自定义控件在界面拖动、滚动鼠标时闪烁的解决方法,希望对大家有所帮助。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • WinForm自定义控件应用实例

    C#的WinForm有一些控件具备自绘的功能,这就意味着你可以对这些控件进行自绘,可以起到意想不到的视觉效果.本文所述的以下控件就是通过一些简单的控件转变过来的.具体示例如下: 1.横向选项卡重绘: 这里的"横向"对话框其实是通过一个TabControl进行"方向旋转".重绘控件项等操作进行实现的.步骤如下: ①.Alignment:用于控制选项卡的方向(设置为Left). ②.SizeMode:用于调整每个选项卡,默认是Normal(非自绘模式),此处应该设置为F

  • c# Winform自定义控件-仪表盘功能

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git NuGet Install-Package HZH_Controls 目录 https://www.cnblogs.com/bfyx/p/11364884.html 用处及效果 准备工作

  • 浅谈C# winForm 窗体闪烁的问题

    在构造函数里加上以下代码: this.DoubleBuffered = true;//设置本窗体 SetStyle(ControlStyles.UserPaint, true); SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲 //SetStyle(ControlStyles.DoubleBuffer | Contro

  • .Net WInform开发笔记(三)谈谈自制控件(自定义控件)

    末日这天写篇博客吧,既然没来,那就纪念一下. 这次谈谈自制控件,也就是自定义控件,先上图,再说 1.扩展OpenFileDialog,在OpenFileDialog中添加各种文件(.txt,.jpg,.excel等等)的预览功能 2.重写ListBox,增加折叠.鼠标背影.分类等功能 -----------------------------分割线--------------------------------------------------------------一.扩展OpenFileD

  • Winform自定义控件在界面拖动、滚动鼠标时闪烁的解决方法

    环境说明: 项目中有一个基类窗体BaseForm,有一个自定义控件TextBoxBase,两个控件都做了一些独特常规的封装和重写,在TextBoxBase中有一点重绘的下划线,发现在窗体运行之后,在窗体上滚动鼠标滚轮,会导致TextBoxBase下划线闪烁. 解决办法: 重写两个控件的CreateParams方法. BaseForm中添加: protected override CreateParams CreateParams { get { CreateParams cp = base.Cr

  • 调用jQuery滑出效果时闪烁的解决方法

    问题现象如题所示,在调用jQuery 滑出效果时,层会现次闪烁一下.在网上找了许多解决文案,说要加如下标示: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 可问题是现在的 标题头已 为 html4.0 ,如若改为上面的情况,则页面会乱掉.

  • jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)

    本文实例讲述了jQuery实现滚动鼠标放大缩小图片的方法.分享给大家供大家参考,具体如下: 在项目制作过程中,遇到了这么一个需求,就开发了一个,记录一下. 首先,需要定义html元素和css样式: <div style="position:relative;"> <asp:Image ID="myImg" runat="server" Width="670px" /> <span style=&q

  • AngularJS 中使用Swiper制作滚动图不能滑动的解决方法

    Swiper是目前较为流行的移动端触摸滑动插件,因为其简单好用易上手,受到很多前端开发者的欢迎. 今天在使用Swiper的时候遇到这个问题: 使用angularjs动态循环生成swiper-slide类,在swiper-wrapper里生成6个以上的滑动页,可是就是划不到第二页,尝试将longSwipesRatio的值修改到最小,仍然不起作用. <div class="swiper-wrapper" > <!-- =======循环部分======= --> &

  • win7中C#的winForm编程使用savefiledialog不能弹出保存窗体的解决方法

    本文实例分析了win7中C#的winForm编程使用savefiledialog不能弹出保存窗体的解决方法.分享给大家供大家参考.具体分析如下: 复制代码 代码如下: public void ResMsg() {     while (isRecMsg)     {  //准备一个数组 准备接收 服务端发来的数据  byte[] msgRec = new byte[1024 * 1024 * 2];  //接收服务端发来的数据,此方法也会阻断当前线程,并返回接收的数据的长度  int recLe

  • MyBatis 参数类型为String时常见问题及解决方法

    1. 参数为String时的插值问题 假设有下面一Dao接口方法 public Account findByAccountType (String type)throws DaoException; 对应的Mapper.xml <select id="findByAccountType " parameterType="string" resultType="account"> select * form account <wh

  • ajax的get请求时缓存处理解决方法

    本文实例讲述了ajax的get请求时缓存处理解决方法.分享给大家供大家参考.具体分析如下: 很多时候在Ajax的get方法调用的时候由于缓存的原因无法及时获取正确的数据,这里就来分析一下解决这一问题的方法: 1. 在url后面添加一个随机数,如: 复制代码 代码如下: http://www.test.com?a=a&b=b&r=Math.random(); 2. 在url后面添加时间戳: 复制代码 代码如下: var t = new Date().getTime(); http://www

  • jQuery Dialog 打开时自动聚焦的解决方法(两种方法)

    下面给大家介绍两种方法解决jQuery Dialog 打开时自动聚焦问题.具体实现方法大家可以参考下本文. 方法一: p1_dialog_seniorSearch.dialog({ title:"高级查询", autoOpen:false,//默认关闭 modal: true,//开启遮罩层 width:570, height:330, buttons: { "查询":function(){ seniorSearch(1,20) } , "关闭"

  • 基于创建Web项目运行时出错的解决方法(必看篇)

    1.目录结构 2.各文件内容 index.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> <form action="/Servlet" method="

  • Android png透明图片转jpg时背景变黑的解决方法

    在做view保存图片后,压缩格式转为jpg的时候出现了黑色背景,其根本原因在于透明背景时背景的情况下,转换为jpg的时候会变成黑色背景,原因是PNG支持透明图而 JPG格式不支持透明背景. 我们的解决方案如下: /** * 把bitmap,png格式的图片 转换成jpg图片 * 因jpg不支持透明,如png透明图片,则转成白底! * @param bitmap 源图 * @param newFilepath 新图片的路径 */ public static void convertBitmap2J

随机推荐