gpt4 book ai didi

c# - 让 SetDesktopBounds 坚持下去

转载 作者:行者123 更新时间:2023-11-30 16:26:47 28 4
gpt4 key购买 nike

我在刚刚创建但未显示的窗体上调用 System.Windows.Forms ... SetDesktopBounds(x, y, width, height)。当我显示表单时,它不会转到我的 SetDesktopBounds 位置,而是显示在其他地方。

如果我显示窗体,然后设置桌面边界,然后隐藏它...它在我下次显示它时出现在该位置。有人知道这里发生了什么吗?我不想事先做一个 Show,因为在我设置它时你会看到表格的闪烁。

在调用 SetDesktopBounds 之前调用 Activate 和/或 CreateControl 也不起作用。

谢谢!

最佳答案

如果在窗体的 Load 事件触发之前调用它,您将不会得到令人满意的结果。窗口的实际大小直到那时才为人所知,用户首选项和重新缩放将在创建 native 窗口时生效。如果您在 Load 之后执行此操作,则重新定位将可见。所以这是最好的:

    static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var main = new Form1();
main.Load += delegate { main.SetDesktopBounds(100, 100, 300, 300); };
Application.Run(main);
}

关于c# - 让 SetDesktopBounds 坚持下去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8498246/

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