【问题标题】:Win form opening position change on show赢得表格开场位置变化
【发布时间】:2015-10-21 19:03:38
【问题描述】:

我正在尝试使用下面的代码在辅助屏幕上打开 winform

ff.FormBorderStyle = FormBorderStyle.None;
ff.Left = sc[1].Bounds.Left; value 1366
ff.Top = sc[1].Bounds.Top;
ff.Height = sc[1].Bounds.Height;
ff.Width = sc[1].Bounds.Width;

Console.WriteLine(ff.Left); // output 1366

ff.Show();

Console.WriteLine(ff.Left); // output 50 

为什么值会在节目中发生变化,并且因为该表单在主屏幕中打开。即使在 Visual Studio 属性窗口中,当我尝试更改位置的 x、y 参数时,一旦我离开属性单元格,值也会更新为旧值。可能是什么问题。

【问题讨论】:

  • 如果您关心窗口在屏幕上的位置,那么您必须使用 Load 事件。当它触发时,将应用由于用户偏好而对窗口大小进行的微小更改。并且由于视频 DPI 设置的变化,迫使表单重新缩放。大的变化。只有这样,您才能正确对齐窗口。 StartPosition 属性无关紧要。顺便说一句,使用 Load 事件的少数几个好理由之一。

标签: c# .net winforms


【解决方案1】:

ff形式的StartPosition属性设置为Manual

【讨论】:

    【解决方案2】:

    尝试将StartUpLocation 参数设置为ff 表单的“手动”。

    【讨论】:

    • 我在 winform 中找不到 windowstartuplocation 属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 2018-05-17
    • 2023-01-20
    相关资源
    最近更新 更多