gpt4 book ai didi

c# - 跳过 Aero 窗口动画

转载 作者:可可西里 更新时间:2023-11-01 09:25:29 31 4
gpt4 key购买 nike

如何以编程方式禁用 Aero 下窗口的“打开”动画?

当打开一个新表单时,它会“弹出”(淡入 + 轻微的缩放转换)。我想停止这个动画并立即显示窗口。

我已经尝试将 Form 的 Location 属性设置到屏幕外的某个位置,然后调用 Show(),然后将其移动到正确的位置。但这没有帮助,动画将继续。

也许我可以设置一些隐藏属性?

我不想全局禁用打开/关闭/最小化/最大化动画!我只想跳过窗口的“窗口打开”动画。

我已经尝试过在 Form.Show() 之后直接调用单个和多个 ShowWindow(...)。但无论我传递什么参数,都不会中止开场动画。

最佳答案

我知道了!在尝试使用 ShowWindow、BorderStyles 之后,我找到了我的确切解决方案:

  1. 将表单的初始“FormBorderStyle”属性更改为以下之一:
    • 没有
    • 固定工具窗口
    • SizeableToolWindow
  2. 向表单“已显示”事件添加事件处理程序。
  3. 在事件处理程序中,将 FormBorderStyle 更改为“Sizeable”(或任何其他)。

现在的诀窍是“none”和“*toolwindow”边框样式将抑制该表单的打开/弹出动画。然后,一旦显示表单,边框样式就会更改,赋予它原始功能(控制栏中的图标、最小化/最大化按钮等...)

编辑:对于可能也想尝试此操作的每个人,我必须指出,在使用 PInvoke 完成后,此 can 会影响窗口的实际大小命令。如果您认为窗口的大小是正确的,请确保在完成此操作后将窗口的大小调整为预期大小。

关于c# - 跳过 Aero 窗口动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13339540/

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