【问题标题】:Positioning forms according to system resolution using c# windows?使用 c# windows 根据系统分辨率定位表格?
【发布时间】:2010-08-26 08:55:52
【问题描述】:

我正在开发一个 c# windows 应用程序,在该应用程序中,用户将有一个选项卡控件,该选项卡控件位于屏幕底部 [正是 Windows 任务栏所在的位置。] 除了具有选项卡控件的表单位置之外,一切都很完美。

当我以 1680 X 1050 的分辨率运行此应用程序时,该位置与以下代码完美匹配。但是这个应用程序也将在 800 X 600 中运行。

我该怎么做?我希望这个位置在分辨率上是通用的。谢谢。

适用于 1680 X 1050 分辨率的代码。

 private void TaskBar_Load(object sender, EventArgs e)
        {
                this.DesktopLocation = new Point(0, 1020); 
        }

【问题讨论】:

    标签: c#


    【解决方案1】:

    首先找到表单所在的屏幕。

    Screen screen = Screen.FromControl(this); // Gets the screen where the form starts
    

    Screen screen = Screen.PrimaryScreen; // Gets the primary screen (if user has many screens)
    

    然后你在

    中找到那个屏幕的大小和位置
    screen.WorkingArea
    

    这应该可以帮助您定位表单。

    编辑:注意screen.WorkingArea已经移除了任务栏占用的像素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-17
      • 2011-11-16
      相关资源
      最近更新 更多