如何让我的应用程序从右下方开始?

时间:2017-01-01 19:14:49

标签: c# .net visual-studio

我正在使用这个具有相当小的UI的应用程序。 315 x 340。 当我最小化它时,它会在任务栏的右下角提示用户使用BalloonTip ..

当我点击任务栏上的notifyIcon时,无论屏幕分辨率是什么,我都希望应用程序在屏幕右下角打开。 我认为这是基于项目设置而不是代码相关的。

如何让应用程序从屏幕右下方开始?

2 个答案:

答案 0 :(得分:3)

将表单的StartPosition设置为Manual。然后,您可以使用Screen对象来获取工作区域(由于任务栏,应用栏等而与分辨率不同),并相应地设置您的位置,例如

protected override void OnLoad(EventArgs e)
{
  int x;
  int y;
  Screen screen;

  base.OnLoad(e);

  screen = Screen.PrimaryScreen;
  x = screen.WorkingArea.Right - this.Width;
  y = screen.WorkingArea.Height - this.Height;

  this.Location = new Point(x, y);
}

答案 1 :(得分:1)

取决于Windows窗体还是WPF:

WinForms: Setting the Screen Location of a Window

public Form1()
{
    InitializeComponent();
    StartPosition = FormStartPosition.Manual;
    Rectangle area = Screens.Primary.WorkingArea;
    Location = new Point(area.Width-315, area.Height-340);
}

在WPF中,这非常相似。

public Window1()
{
    InitializeComponent();
    WindowStartupLocation = WindowStartupLocation.Manual;
    Rectangle area = Screens.Primary.WorkingArea;
    Left = area.Width-315;
    Top = area.Height-340;
}