gpt4 book ai didi

c# - 如何强制窗口重绘?

转载 作者:太空狗 更新时间:2023-10-30 01:10:00 25 4
gpt4 key购买 nike

我有一个全屏窗口,使用这段代码:

WindowStyle = System.Windows.WindowStyle.None;
WindowState = System.Windows.WindowState.Maximized;
Topmost = true;

它在 Win7 下工作正常,但在 WinXP 下,当窗口全屏时,一些窗口元素不会被重绘。有没有办法强制窗口进行完全重绘和布局更新?

如果我使用 Atl-Tab 切换到另一个应用程序然后返回我的应用程序,则 UPD 全部重绘好

最佳答案

您可以使用 Windows API 强制重新绘制窗口。

示例类实现:

public static class WindowsApi
{
private const int WmPaint = 0x000F;

[DllImport("User32.dll")]
public static extern Int64 SendMessage(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam);

public static void ForcePaint(this Form form)
{
SendMessage(form.Handle, WmPaint, IntPtr.Zero, IntPtr.Zero);
}
}

用法:

Form testForm = new Form();
testForm.ForcePaint();

关于c# - 如何强制窗口重绘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5622799/

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