无法保持WinKey + Up移动我的表单

时间:2012-03-19 21:14:38

标签: c# .net winforms windows-7

我正在尝试在屏幕右下方设置一个窗口。其FormBorderStyle设置为None。我不希望用户有能力移动它。不幸的是,如果用户按下Winkey + Up(在Win7中最大化),它会将表单重新定位到桌面上的(0,0)。

我尝试重置LocationChanged事件中的位置,但是当我更改了Left / Top或Location属性时,它们实际上不会更改。

有没有人对如何解决这个问题有任何想法?

谢谢!

3 个答案:

答案 0 :(得分:2)

如果表单的位置最大化,则无法以编程方式更改表单的位置。在尝试设置其位置之前,您需要将其WindowState属性更改为FormWindowState.Normal

答案 1 :(得分:0)

你需要一个GlobalSystemHook,这不是一项微不足道的工作 在this url (CodeProject)有一个有用的例子。

答案 2 :(得分:0)

FormBorderStyle设置为FixedSingleFixed3DFixedDialogFixedToolWindow 设置MaximizeBox之一并MinimizeBox为假。