我正在尝试在屏幕右下方设置一个窗口。其FormBorderStyle设置为None。我不希望用户有能力移动它。不幸的是,如果用户按下Winkey + Up(在Win7中最大化),它会将表单重新定位到桌面上的(0,0)。
我尝试重置LocationChanged事件中的位置,但是当我更改了Left / Top或Location属性时,它们实际上不会更改。
有没有人对如何解决这个问题有任何想法?
谢谢!
答案 0 :(得分:2)
如果表单的位置最大化,则无法以编程方式更改表单的位置。在尝试设置其位置之前,您需要将其WindowState
属性更改为FormWindowState.Normal
。
答案 1 :(得分:0)
你需要一个GlobalSystemHook,这不是一项微不足道的工作 在this url (CodeProject)有一个有用的例子。
答案 2 :(得分:0)
将FormBorderStyle
设置为FixedSingle
,Fixed3D
,FixedDialog
或FixedToolWindow
和设置MaximizeBox
之一并MinimizeBox
为假。