解决窗体闪烁问题的方法

1.在声明窗体类时加入:
  private
    procedure CreateParams(var Params: TCreateParams); override;

2.在窗体实现部分加入:
  procedure TFrm_Main.CreateParams(var Params: TCreateParams);
  begin
    inherited;
    Params.ExStyle := 33554432; //0x 02 00 00 00
  end;

已经测试过,确实能有效解决含有多个控件的窗体的闪烁问题。原帖见: http://social.msdn.microsoft.com/forums/en-US/winforms/thread/aaed00ce-4bc9-424e-8c05-c30213171c2c/

http://blog.sina.com.cn/s/blog_6016bdc80100frvx.html

时间: 2024-09-30 05:55:17

解决窗体闪烁问题的方法的相关文章

c# winform窗体闪烁解决方法

在主窗体中任意位置加上下面的代码即可 protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } } c# winform窗体闪烁解决方法

C#解决MDI窗体闪屏的方法

最近从师兄手上接了一个C#的项目,需要用到MDI窗体,可是每当我显示子窗体的时候会有一次“闪烁”,很明显,看起来非常不爽,查找许久,知道是每次在show()子窗体的时候都会调用子窗体构造函数重绘窗体,其中需要将子窗体的尺寸调整到我在程序中设置的大小,无论我这样设置,这个窗口大小变化总会在show()的时候显示出来,我试过网上说的设置双缓冲.先隐藏窗体等启动之后再显示.借助定时器设置窗体的opacity属性,可是问题依旧,没有任何变化,一个偶然的机会找到了微软的MSDN论坛,发现遇到这个问题的哥们

C# 解决窗体假死的状态

异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能.可伸缩应用程序的关键.在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作.我们通常使用异步完成许多计算型.IO型的复杂.耗时操作,去取得我们的应用程序运行所需要的一部分数据.在取得这些数据后,我们需要将它们绑定在UI中呈现.当数据量偏大时,我们会发现窗体变成了空白面板.此时如果用鼠标点击,窗体标题将会出现”失去响应”的字样,而实际上UI线程仍在工作着,这对用户来说是一种极度糟糕的体验.如果你希望了解其中的原因

谈.Net委托与线程——解决窗体假死

引言 在之前的<创建无阻塞的异步调用>中,已经介绍过异步调用的编写步骤和实施原理.异步调用是CLR为开发者提供的一种重要的编程手段,它也是构建高性能.可伸缩应用程序的关键.在多核CPU越来越普及的今天,异步编程允许使用非常少的线程执行很多操作.我们通常使用异步完成许多计算型.IO型的复杂.耗时操作,去取得我们的应用程序运行所需要的一部分数据.在取得这些数据后,我们需要将它们绑定在UI中呈现.当数据量偏大时,我们会发现窗体变成了空白面板.此时如果用鼠标点击,窗体标题将会出现"失去响应&

电脑蓝屏怎么解决,解决电脑蓝屏的方法

在更新系统漏洞或者补丁之后,如果出现不兼容或者其他原因都会导致电脑开机蓝屏,那么电脑蓝屏怎么解决?今天小编就来教大家解决电脑蓝屏的方法.具体内容如下: 分析及解决方法: 一.重启电脑.如果只是偶然出现蓝盘,那么我们只需要重启一下电脑即可. 二.利用360安全卫士等优化软件,启动蓝盘修复功能,或者找寻相应的补丁进行修复. 三.病毒导致.程序破坏等原因,都是由于木马.病毒等侵入导致,这时候也会影响到系统的稳定性,那么之后就会出现蓝屏的现象,这样的问题我们要及时清理杀毒即可. 四.硬件问题.电脑长时间

我在一个解决方案下有2个项目,那么在A项目下如何调用其他项目的资源,比如窗体,类,方法,属性等??

下面这些图展示了如何在一个项目中引用另一个项目 sln是解决方案csproj是c#项目项目是文件的集合解决方案是项目的集合包含关系,一个sln中包含多个csproj.一个csproj包含多个文件.sln:solusioncsproj:c sharp projectcsproj可以作为单独的项目运行,也可以在sln中添加csproj统一管理.如果你的解决方案中仅仅包含一个工程,那么是打开工程和解决方案的时候一样的.但是在系统中一个解决方案中可能有多个工程打开一个方案中的一个工程 这个工程打开的时候

安卓开发解决android.os.NetworkOnMainThreadException异常方法(主线程不能直接调用webservice)

安卓开发解决android.os.NetworkOnMainThreadException异常方法 2013-01-07 14:01:04|  分类: 技术 |  标签:安卓  技术  java  |举报|字号 订阅 在android 2.3上访问网络的方法,在android 4.0上运行时报android.os.NetworkOnMainThreadException异常,主要问题在于4.0中访问网络不能在主线程中进行,有两个方法可以解决.第一种是在主线程中增加如下代码[不推荐]: // 详见

VC中获取窗体句柄的各种方法

AfxGetMainWnd AfxGetMainWnd获取自身窗体句柄HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow函数功能:该函数检查与特定父窗体相联的子窗体z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗体的句柄. 函数原型:HWND GetTopWindow(HWND hWnd):參数: hWnd:被查序的父窗体的句柄.假设该參数为NULL,函数返回Z序顶部的窗体句柄.返回值:    假设函数成功,返回值为在Z序顶部的子窗

delphi实现窗体闪烁功能

delphi实现窗体闪烁功能 以前做窗口闪动时都没有考虑到让任务栏上的按钮闪动的问题, 现在一个客户需要任务栏按钮闪动,发现以前使用的flashwindow不能达到要求了, 查找了一下,找到flashwindowex这个API 如果您创建的应用程序是运行在Windows 98或更高版本操作系统上,您可以通过调用API函数FlashWindowEx并赋给它一个FlashWInfo结构体来实现. 而如果是运行在Windows 95上则比较麻烦, 但您也可以通过使用一个Timer组件来实现想要的效果.