在UserControl
我做了可以通過點擊添加Rectangles
。這些矩形保存在列表中。現在我想讓用戶可以移動繪製的那些Rectangles
。 首先,我嘗試將MouseDown
,MouseMove
和MouseUp
事件添加到Rectangle
,但這不起作用,因爲繪製矩形是一個Struct而不是控件。我已經做了一個測試項目,並完成了移動一個按鈕,我把它放在用戶控制由設計師。我試着從Drag and Drop Function with Drawing Rectangle C# .net - Forms得到的代碼,但這個例子不是關於矩形。它是關於控制,我不知道怎麼用這個理念爲矩形,因爲C#如何拖放動態創建的矩形
rectangle.MouseDown += delegate(object sender, MouseEventArgs e)
{
//do something
}
不起作用。任何想法如何拖放動態添加的矩形?
您應該將MouseDown事件添加到UserControl。然後遍歷列表並製作一個方法來查看座標是否在Rectangle中。如果是,然後鉤住並移動它。 – kevintjuh93
所以你應該添加一個'bool'值,它在'MouseDown'事件中被設置爲'true',並且在'MouseUp'事件中被設置爲'false'。然後在'MouseMove'事件中,檢查'mouseDown'值是否爲'true'。如果是,找到一個「矩形」,移動它的位置。 – kevintjuh93
@ kevintjuh93謝謝!我沒有想過將MouseDown事件添加到UserControl。現在,它的作品:)如果你希望你可以評論相同,因爲你在這裏寫評論,所以我可以標記這是最好的答案。 – anastasia2