2012-06-15 84 views
2

在Windows 7中,您可以將典型的窗口拖動到屏幕頂部,您將看到最大化窗口輪廓。如果你放棄,Windows將最大化表單。同樣,您可以採用已經最大化的窗口並將其「拉」下來以將其恢復到正常的窗口狀態。我想在我的C#WinForms應用程序中以無邊界形式利用這些增強功能。帶有Windows 7拖動增強功能的無邊框窗口窗體

我的表單是無邊界的,所以我可以創建一個自定義標題欄並最小化/最大化/關閉按鈕。我可以通過拖動標題欄來讓表單移動,但我不知道如何插入Windows 7增強功能,這些增強功能可以提供最大化輪廓或「下拉」功能。

有什麼建議嗎?謝謝!

回答

0

在德爾福7年前,我做了這樣的事情。

1)表 - ONCLICK - 捕獲鼠標整個屏幕上的位置(也許該鏈接將幫助:http://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx),保存關於按鈕在私有變量按下的信息(例如:buttonPressed =真)
2)表 - 的OnMouseMove - 根據到新的鼠標位置,移動你的窗口
3)窗體 - OnMouseUp - buttonPressed = false。如果光標座標位於屏幕頂部(x [0..screenW] y [0..10]) - >最大化。

只是一個提示,也許它會幫助你。