无边框窗口形式与Windows 7拖动增强功能

时间:2012-06-15 15:22:31

标签: c# winforms windows-7

在Windows 7中,您可以将典型窗口拖动到屏幕顶部,您将看到窗口的轮廓最大化。如果放手,Windows将最大化表单。同样,您可以使用已经最大化的窗口并“拉”下来将其恢复到正常的窗口状态。我想在C#WinForms应用程序中以无边框形式利用这些增强功能。

我的表单是无边框的,因此我可以创建自定义标题栏并最小化/最大化/关闭按钮。我可以通过拖动标题栏来移动我的表单,但我不知道如何插入Windows 7增强功能,这些增强功能可以为我提供最大化轮廓或“下拉”功能。

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

多年前我在Delphi 7中做过类似的事情。

1)表格 - OnCLick - 在整个屏幕上捕捉鼠标位置(也许此链接有助于:http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx),保存有关在私人变量中按下的按钮的信息(例如:buttonPressed = true)
2)表格 - OnMouseMove - 根据新的鼠标位置,移动你的窗口
3)表单 - OnMouseUp - buttonPressed = false。如果光标坐标位于屏幕顶部(x [0..screenW] y [0..10]) - >最大化。

只是一个提示,也许它会帮助你。