2012-05-22 27 views
0

可能重複:
C# - Make a borderless form movable?
Drag borderless windows form by mouse在沒有邊框的C#中移動窗體?

好吧,我已經做了的形式,在它的控制。該表格是無邊界的。表單中的控件稱爲navigationPanel1。我希望能夠點擊並拖動控件來移動窗體。我怎麼做?

+0

網絡上的源代碼與工作示例相關:http://www.codeproject.com/Articles/13571/Draggable-Form-Drag-a-Borderless-Form-b​​y-Clicking –

+0

@CodeCaster我可以向你保證,這是我在這個問題上的第一篇文章。 –

+0

@AdamHouldsworth這不是重複 –

回答

-1

您必須訂閱鼠標向下,鼠標移動和鼠標移動事件。在鼠標移動中,您將表單的位置設置到新位置(您必須計算)。鼠標移動時的代碼只能在鼠標按鈕關閉的情況下執行(保存此狀態)

+0

雖然這在某些情況下可能看起來有些作用,但在其他情況下會失效,例如,如果您從最頂端的像素向上拖動窗體 - 您將不會收到MouseMove事件,因此不會發生移動。如果您移動鼠標的速度足夠快,指針在表單之外暫停,也會發生同樣的情況。讓窗口管理器完成它的事情要好得多[通過告訴他»嘿,有人開始拖拽標題欄«](http://stackoverflow.com/a/1592899/73070)。 – Joey

相關問題