草庐IT

CreateParams

全部标签

c# - Windows 窗体应用程序中的闪烁

我有一个应用程序,上面有很多控件。它有大量的闪烁,尤其是在启动时。我应用了这个fixprotectedoverrideCreateParamsCreateParams{get{CreateParamscp=base.CreateParams;cp.ExStyle|=0x02000000;//WS_EX_COMPOSITEDreturncp;}}效果很好-闪烁减少了令人难以置信的数量。但是,副作用是当我将鼠标移到窗口右上角或单击它们时,窗口右上角的最小化、最大化和关闭按钮没有动画(尽管它们仍然有效)。这给应用程序带来了一种挂起的感觉。如何在保留WS_EX_COMPOSITED的同时仍然保

c# - 为什么 WinForms 标签不想透明的原因?

为什么我不能将标签的背景颜色设置为透明?以前做过,现在就是不想...我创建了一个新的UserControl,为其添加了一个进度条和一个标签。当我将标签的BackColor设置为透明时,它仍然是灰色=/为什么会这样?我想要的是将标签放在进度条的顶部,这样它的文本就在进度条“中”... 最佳答案 向您的项目添加一个新类并发布如下所示的代码。build。将工具箱顶部的新控件拖放到窗体上。usingSystem;usingSystem.Windows.Forms;publicclassTransparentLabel:Label{publi

c# - 为什么 WinForms 标签不想透明的原因?

为什么我不能将标签的背景颜色设置为透明?以前做过,现在就是不想...我创建了一个新的UserControl,为其添加了一个进度条和一个标签。当我将标签的BackColor设置为透明时,它仍然是灰色=/为什么会这样?我想要的是将标签放在进度条的顶部,这样它的文本就在进度条“中”... 最佳答案 向您的项目添加一个新类并发布如下所示的代码。build。将工具箱顶部的新控件拖放到窗体上。usingSystem;usingSystem.Windows.Forms;publicclassTransparentLabel:Label{publi

c# - Winforms 双缓冲

我将此添加到表单的构造函数代码中:this.SetStyle(ControlStyles.AllPaintingInWmPaint|ControlStyles.UserPaint|ControlStyles.DoubleBuffer,true);但是当它加载控件时,只要它们发生变化(表单及其组件经常变化(需要更新)),它仍然会显示丑陋的工件。我需要做哪些不同的事情? 最佳答案 这只会影响表单本身,不会影响子控件。如果它们很多,那么它们轮流绘制自己的时间就会变得很明显,它会在控件所在的位置留下一个矩形孔,该孔在子控件轮到它之前不会被填

c# - Winforms 双缓冲

我将此添加到表单的构造函数代码中:this.SetStyle(ControlStyles.AllPaintingInWmPaint|ControlStyles.UserPaint|ControlStyles.DoubleBuffer,true);但是当它加载控件时,只要它们发生变化(表单及其组件经常变化(需要更新)),它仍然会显示丑陋的工件。我需要做哪些不同的事情? 最佳答案 这只会影响表单本身,不会影响子控件。如果它们很多,那么它们轮流绘制自己的时间就会变得很明显,它会在控件所在的位置留下一个矩形孔,该孔在子控件轮到它之前不会被填

c# - 如何修复用户控件中的闪烁

在我的应用程序中,我不断地从一个控件移动到另一个控件。我没有创建。用户控件,但在导航过程中我的控件会闪烁。更新需要1或2秒。我试着设置这个SetStyle(ControlStyles.OptimizedDoubleBuffer,true);orSetStyle(ControlStyles.UserPaint,true);SetStyle(ControlStyles.AllPaintingInWmPaint,true);SetStyle(ControlStyles.DoubleBuffer,true);但它没有帮助......每个控件都有相同的背景图像和不同的控件。那么它的解决方案是什么

c# - 如何修复用户控件中的闪烁

在我的应用程序中,我不断地从一个控件移动到另一个控件。我没有创建。用户控件,但在导航过程中我的控件会闪烁。更新需要1或2秒。我试着设置这个SetStyle(ControlStyles.OptimizedDoubleBuffer,true);orSetStyle(ControlStyles.UserPaint,true);SetStyle(ControlStyles.AllPaintingInWmPaint,true);SetStyle(ControlStyles.DoubleBuffer,true);但它没有帮助......每个控件都有相同的背景图像和不同的控件。那么它的解决方案是什么

c# - 在不窃取焦点的情况下显示表单?

我正在使用一个表单来显示通知(它出现在屏幕的右下角),但是当我显示这个表单时,它会从主表单中窃取焦点。有没有办法在不窃取焦点的情况下显示此“通知”表单? 最佳答案 嗯,是不是简单地覆盖Form.ShowWithoutActivation就足够了?protectedoverrideboolShowWithoutActivation{get{returntrue;}}如果你也不想让用户点击这个通知窗口,你可以覆盖CreateParams:protectedoverrideCreateParamsCreateParams{get{Crea

c# - 在不窃取焦点的情况下显示表单?

我正在使用一个表单来显示通知(它出现在屏幕的右下角),但是当我显示这个表单时,它会从主表单中窃取焦点。有没有办法在不窃取焦点的情况下显示此“通知”表单? 最佳答案 嗯,是不是简单地覆盖Form.ShowWithoutActivation就足够了?protectedoverrideboolShowWithoutActivation{get{returntrue;}}如果你也不想让用户点击这个通知窗口,你可以覆盖CreateParams:protectedoverrideCreateParamsCreateParams{get{Crea
12