更改无边框表单的位置(C#)

时间:2011-01-16 17:34:53

标签: c# forms

如何将无边框(FormBorderStyle.None)窗体移出窗口(=负坐标)?

我已经尝试过以下事项:

  • this.Location = new Point(-10,-10);
  • 来自user32.dll
  • 的MoveWindow()
  • 来自user32.dll的SetWindowPos()

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

答案是; (不适用于多台显示器)

this.Location = new Point(-1 * this.Width, -1 * this.Height);

您可以通过设置隐藏窗口;

this.Visible = false;

答案 1 :(得分:1)

使用SHAppBarMessage在窗口外创建任务栏后,窗口的位置由shell控制,具体取决于您选择的边缘。您需要使用完全销毁任务栏的ABM_REMOVE或ABM_SETSTATE,它允许您将其更改为自动隐藏任务栏。在任务栏顶部移动另一个窗口不起作用,shell阻止它允许任务栏的行为,就像任务栏一样。