当选项卡控件有太多选项卡时,WS_EX_COMPOSITED 会导致整个应用程序闪烁/微光

2024-03-22

为了解决闪烁问题,我求助于使用WS_EX_COMPOSITED在 winforms 应用程序中。这可以完美地工作,直到选项卡控件获得如此多的选项卡以至于它创建了“滚动箭头”。此时,我的整个应用程序看起来就像不断重绘,到处都在闪烁。

为了看看这是否只是我的应用程序的问题,我编写了一个简单的 winforms 程序来测试它。它包含的只是一个带有添加选项卡按钮的选项卡控件,其上的表单具有WS_EX_COMPOSITED启用...果然,当我单击“添加”按钮并出现滚动箭头时,就会发生闪烁。

多行选项卡控件解决了这个问题,但我在应用程序中没有空间来使用它。对于我的测试应用程序来说,代码非常简单...只需添加一个选项卡页和一个按钮,然后在表单中执行以下操作:

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

    private void button1_Click(object sender, EventArgs e)
    {
        this.tabControl1.TabPages.Add("SomeTab");
    }

如果有的话我正在运行win7。


看看这个问题的答案使用 WS_EX_COMPOSITED 实现无闪烁选项卡控件 https://stackoverflow.com/questions/4188306/flicker-free-tab-control-with-ws-ex-composited

可能需要一些时间来解决,但应该会有所帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当选项卡控件有太多选项卡时,WS_EX_COMPOSITED 会导致整个应用程序闪烁/微光 的相关文章

  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 基于 OpenCV 边缘的物体检测 C++

    我有一个应用程序 我必须检测场景中某些项目的存在 这些项目可以旋转并稍微缩放 更大或更小 我尝试过使用关键点检测器 但它们不够快且不够准确 因此 我决定首先使用 Canny 或更快的边缘检测算法 检测模板和搜索区域中的边缘 然后匹配边缘以查
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • IEnumreable 动态和 lambda

    我想在 a 上使用 lambda 表达式IEnumerable
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 为什么固定宽度元素不占用浮动元素旁边的空间?

    In this CodePen http codepen io nitinsavant pen qrvwQd the
  • Qt:以编程方式定义 Tab 键顺序

    我使用 Desinger 创建了 2 个小部件 Widget1 和 Widget2 每个小部件都定义了其 Tab 键顺序 第三个小部件 Widget3 以编程方式定义 并包含垂直布局中的上述 2 个小部件 在 symbian 非触摸设备上
  • C++ 中的舍入和往返数字

    我有一个类 它在内部将某个定点数表示为 32 位整数 分母有些任意 它既不是 2 的幂也不是 10 的幂 为了与其他应用程序通信 数量在输出时转换为普通的旧双精度 并在输入时转换回来 作为类内的代码 它看起来像 int32 t quanti
  • 如何在 C# 中从派生类实例调用基方法?

    我有 C 代码 基础class A并得出class B public class A public virtual void print Console WriteLine a public class B A public overrid
  • WinRT 反射 (C++/CX)

    如何内省 C CX 中的对象 我知道如何获取其类名 使用 IInspectable 但我无法弄清楚如何获取其属性列表 或者如果我只有方法名称 字符串 则如何调用方法 我在这里和 Google 中搜索了答案 但我发现与 WinRT 的 NET
  • 使用 COUNT 显示 MySQL 中出现次数超过 2 次的不同记录

    我有一个表 我试图在其中构建表中出现两次以上的所有城市的不同列表 我正在尝试当前查询 我被告知 函数计数不存在 我究竟做错了什么 SELECT COUNT city FROM table1 GROUP BY city HAVING COUN
  • Laravel 从另一个项目数据库获取数据

    我正在将旧项目数据库移动到新项目数据库 旧项目数据库的结构是单个MYSQL数据库 新项目是包含很多子域的多租户数据库 此外 新项目已经设置了 RESTFUL API 来接收来自旧项目的数据 因此 我的想法是在新项目中实现多连接 以便将两个数
  • 当键盘出现时,BottomNavigationView 会上升

    Image https i stack imgur com WAcle png 我的 BottomNavigationView 工作正常 但当我按下EditText写在上面 上面的链接中有一张图片 这是我的清单 其中包括android wi
  • 强制 C# 的 HTTP 响应返回状态代码而不是描述

    我目前正在使用此脚本来获取 HTTP 响应标头 public static List
  • 如何使用 NSStepper 检查向上或向下按钮是否被按下?

    有没有办法检查 NSStepper Action 事件中是否按下了向上或向下按钮 在我的 ViewController h 中我有这个 IBAction myStepperAction id sender 在我的 ViewControlle
  • 如何在asp.net MVC 3中获取当前视图名称?

    如何使用 Razor 引擎在 asp net MVC 3 中获取与当前 URL 相关的当前视图名称 不知道为什么您需要获取当前视图名称 但您可以使用VirtualPath视图内的属性 通常 了解当前操作或控制器更有用 但无论如何 以下是获取
  • 如何获取数字小数部分的长度?

    如何找出小数的小数部分的长度或位数 我可以看到一些方法 例如像这样的字符串 public static int getNumberOfFractionDigits Number number Double fractionPart numb
  • 无法连接到 MySQLCC 上的 MySQL 服务器 ERROR 1043 Bad Handshake

    我无法使用 MySQLCC 以及我的网页连接到我的 server221 我已成功连接到服务器 253 没有任何错误 我不确定出了什么问题 但我不断收到错误 1043 bad handshake 我确信我的所有用户 ID 和密码都输入正确 我
  • 将预览帧转换为位图

    我知道这个主题已经在黑板上出现过很多次了 但无论如何我都无法让它发挥作用 我想将预览中的视图帧保存为 jpeg 文件 它看起来或多或少 代码被简化 没有额外的逻辑 异常等 像这样 public void onPreviewFrame byt
  • 内存映射文件可以有多大?

    什么限制了内存映射文件的大小 我知道它不能大于未分配地址空间的最大连续块 并且应该有足够的可用磁盘空间 但还有其他限制吗 You re being too conservative A memory mapped file can be l
  • 如何在 Python 中使用“打开方式”功能?

    我目前正在使用一个包含以下代码的 python 脚本 它打开一个包含 JSON 文本的文件并从中确定一个值 browseFiles def browseFiles global fileName fileName filedialog as
  • 将数据网格设置为每页仅显示 5 行

    我正在使用 DOJO 进行数据网格演示 div div 但问题是 grid log 每页不只显示 5 行 这个标签有什么问题吗 为什么忽略 rowsPerPage 5 看起来 rowsPerPage 值不是 查看 的页面 而是 虚拟 页面
  • 如何从 Perl 将输入传送到 Java 命令?

    我需要通过 Java 程序运行一个字符串 然后检索输出 Java 程序通过标准输入接受字符串 以下作品 my output echo string java jar java program jar 有一个问题 string可以是任何东西
  • 在Python中将for循环转换为while循环

    我正在努力寻找一种有效的方法来转换这些for循环到一个工作集while循环 有什么建议么 我用的是2 7 def printTTriangle height for row in range 1 height 1 print row T s
  • 当选项卡控件有太多选项卡时,WS_EX_COMPOSITED 会导致整个应用程序闪烁/微光

    为了解决闪烁问题 我求助于使用WS EX COMPOSITED在 winforms 应用程序中 这可以完美地工作 直到选项卡控件获得如此多的选项卡以至于它创建了 滚动箭头 此时 我的整个应用程序看起来就像不断重绘 到处都在闪烁 为了看看这是