2009-06-26 35 views
1

我有一個簡單的winforms應用程序,其中包含許多控件。我希望能夠從窗體上的任意位置單擊並拖動,並移動整個組合(panning)。我已經找到了調整位。我仍然需要弄清楚的是如何將點擊和拖動到更新我的偏移。如何在winforms應用程序中點擊並拖動

我已經試過到目前爲止是添加的東西主要形式的MouseDownMouseUpMouseMove事件(看起來有點像what this guy shows),但他們沒有得到所謂的(在他們斷點沒有被擊中)

我在做什麼錯?


編輯:我不是在尋找拖放,因爲我不一定有任何東西被拖動或放下。我想會的工作枝條以下規格:

  • 創建一個表單,沒有控制
  • 設定要印刷到窗體標題的X和Y變量,每當他們更新
  • 當用戶點擊任何地方拖動形式,x和y得到更新,以反映指針的運動(點擊並拖動向下和向右將導致x>0y>0

根據埃裏克的評論,我認爲我正在接受錯誤控制的事件。

有沒有辦法來(與像控件安裝使用)趕在一個地方的所有事件,無論他們應該怎樣被送到?或者有沒有其他未報道的事件會被鏈接到父母身上?在我的情況下,我會從來沒有關心什麼得到了事件,所以這將是我想得到的。

+2

事件不觸發的事實是不正常的。如果您擁有對錶單的控制權,則應該掛鉤這些控件的事件。另一種方法是在你的整個表單上放置一個透明的面板來處理事件 – Eric 2009-06-26 20:43:43

+0

檢查事件處理程序是否仍然連接。我看到有時候設計師會刪除它們。 – 2009-06-26 20:48:19

+0

@Eric:請將您的評論轉換爲答案,以便我可以對其進行投票。 (如果你知道任何代碼示例....) – BCS 2009-06-26 20:51:00

回答

-1

有一些在線教程涵蓋拖放和拖放等this one

的事實,事件觸發的arent是不正常的。如果您擁有對錶單的控制權,則應該掛鉤這些控件的事件。另一種方法是在你的整個表單上放置一個透明的面板來處理事件

1

你如何精確處理鼠標事件?如果您有包含表單的面板,則不會調用表單的鼠標事件。只有面板的鼠標事件會。

相關問題