gpt4 book ai didi

c# - 从最小化状态恢复表单时,WS_EX_COMPOSITED 导致无限重绘

转载 作者:行者123 更新时间:2023-11-30 23:00:50 25 4
gpt4 key购买 nike

当从最小化状态恢复时,Form 需要无穷无尽的时间来重新绘制。
Form 是无边界的。我正在覆盖 WndProcCreateParms
我正在将无边界 Form 从最小化状态恢复到正常状态。
我正在重写 CreateParms 方法以降低阴影并停止闪烁。

protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;

m_aeroEnabled = CheckAeroEnabled();
if (!m_aeroEnabled)
cp.ClassStyle |= CS_DROPSHADOW;

cp.Style |= WS_MINIMIZEBOX;
cp.ExStyle |= 0x02000000; //WS_EX_COMPOSITED
cp.ClassStyle |= CS_DBLCLKS;

return cp;
}
}

移除 cp.ExStyle |= 0x02000000 后问题消失,但随后出现闪烁问题。

编辑:添加似乎导致问题的自定义控件的代码:

public partial class BorderPanel : Panel
{
public BorderPanel()
{

}

protected override void OnPaint(PaintEventArgs pe)
{
ControlPaint.DrawBorder(pe.Graphics, this.ClientRectangle,
BorderColor, borderSize.Left, ButtonBorderStyle.Solid,
BorderColor, borderSize.Top, ButtonBorderStyle.Solid,
BorderColor, borderSize.Right, ButtonBorderStyle.Solid,
BorderColor, borderSize.Bottom, ButtonBorderStyle.Solid);

base.OnPaint(pe);
}
}

最佳答案

我遇到了和你一样的问题,我解决了表单设计中将 TrasnsparencyKey 从黑色更改为另一种颜色但不是黑色的问题,请尝试一种你未使用的颜色。

关于c# - 从最小化状态恢复表单时,WS_EX_COMPOSITED 导致无限重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51349886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com