在用户屏幕上设置窗口的默认位置

时间:2013-02-05 06:07:38

标签: c# winforms

我有一个Windows窗体应用程序。我希望当应用程序运行时,我的窗口将始终只在任务栏上,而右侧则意味着在用户屏幕的右下角。用户是什么并不重要屏幕分辨率是。所以我该怎么办?

5 个答案:

答案 0 :(得分:3)

要在MeNoMore's answer上构建,要使您的表单显示在主屏幕的右下角(任务栏的屏幕通常是主屏幕),您可以在您的构造函数中设置以下内容形式。

this.StartPosition = FormStartPosition.Manual;
this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - this.Width,
                          Screen.PrimaryScreen.WorkingArea.Height - this.Height);

答案 1 :(得分:1)

您可以尝试使用:

Form1.Location = new Point(x, y);

看看here

答案 2 :(得分:1)

其他答案无效。你必须做两个的事情:

  1. 将表单的StartPosition设置为Manual
  2. 将表单的Location设置为您想要的位置
  3. E.g。在表单的构造函数中:

    StartPosition = FormStartPosition.Manual;
    Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - Width,
                         Screen.PrimaryScreen.WorkingArea.Height - Height);
    

答案 3 :(得分:0)

使用Form.StartPosition属性

答案 4 :(得分:0)

您可以使用WinTaskBar组件来考虑桌面/屏幕上的其他因素。

    [DllImport("SHELL32", CallingConvention = CallingConvention.StdCall)]
    static extern uint SHAppBarMessage(int dwMessage, ref APPBARDATA pData);

它可以让你控制位置(左和上)。

示例:

formStartLeft = Screen.PrimaryScreen.WorkingArea.Width - this.Width;
formStartTop = taskBarHeight + Screen.PrimaryScreen.WorkingArea.Height;