作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在刚刚创建但未显示的窗体上调用 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/
我在刚刚创建但未显示的窗体上调用 System.Windows.Forms ... SetDesktopBounds(x, y, width, height)。当我显示表单时,它不会转到我的 SetD
我是一名优秀的程序员,十分优秀!