[ C# ] WinForm 中如何實現「拖曳元件」

作論文轉播字卡系統時,「字卡編輯器」的功能中需要用到拖曳元件的效果,

關於拖曳元件的概念,可分為三部份 MouseDownMouseMoveMouseUp

對於該元件或控制項實作這三樣事件,即可達到拖曳元件的效果!

=======================================================

在作拖曳元件時,可先定義一些全域變數幫助拖曳時計算元件位置。

圖片

[ MouseDown ]

圖片

[ MouseMove ]

圖片

[ MouseUp ]

圖片

=======================================================

以上例子是以 PictureBox 為例的程式碼截圖,當然也可換成 Control 來符合更多控制

項種類,另外,在實作拖曳實若控制項或元件有閃爍的情況,可藉由 DoubleBuffer 來

減緩此種現象,DoubleBuffer 為雙重緩衝繪製的機制,最簡單的方法就是在該 Form

的屬性中,將DoubleBuffered 改選為 True 即可。

圖片

 

Done!

 

附上該方法參考網址

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s