winforms - 调整大小时,带有巨大黑色闪烁的蒙皮 C# 窗体!

标签 winforms visual-studio-2008 resize flicker skin

我正在尝试使用与您通常看到的不同的方法创建一些蒙皮表单(只是边框和标题),但在调整表单大小时我遇到了一些表单闪烁问题。

我不知道如何解释这个问题,所以我制作了一个视频来演示这个问题: http://www.screencast.com/t/AIqK9Szmz

此外,这是一个 VS2008 测试解决方案,其中包含重新绘制表单边框的完整代码:http://stuff.nazgulled.net/misc/TestForm.zip

希望有人能帮我去掉闪烁...

最佳答案

这就是我在基本表单的构造函数中使用的内容:

this.SetStyle( ControlStyles.AllPaintingInWmPaint, true );
this.SetStyle( ControlStyles.UserPaint, true );
this.SetStyle( ControlStyles.OptimizedDoubleBuffer, true );
this.SetStyle( ControlStyles.ResizeRedraw, true );

我认为关键是“AllPaintingInWmPaint”的使用。

关于winforms - 调整大小时,带有巨大黑色闪烁的蒙皮 C# 窗体!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/318452/

相关文章:

.net - 如何让事件再次变空?

C# 如何在代码中定义字体回退序列

css - DevExpress ASPxButton 不更新所有属性

c++ - 如何设置 native 远程调试?

java - Java 8 中的默认 ArrayList 大小是多少

c# - 为什么相同的 NHibernate 查询在 WinForm 项目中的运行速度比 MSTest 单元测试慢一个数量级?

c# - 有没有办法在 Visual Studio 2008 中使用 2005 C# 编译器?

c# - 是真 :TrueCondition:FalseCondition Evaluates Both Conditions

css - execCommand 未在 IE8/9 中禁用 'Shrink To Fit' - 横向

java - JTextField 无法调整大小