在我UserControl
中,您可以通过点击添加Rectangles
。这些矩形保存在List中。现在我想让用户移动那些绘制的Rectangles
。
首先,我尝试将MouseDown
,MouseMove
和MouseUp
事件添加到Rectangle
,但这不起作用,因为绘图矩形是结构而不是控件。我已经完成了一个Testproject并完成了移动我在Designer的UserControl中输入的按钮。我尝试了从Drag and Drop Function with Drawing Rectangle C# .net - Forms得到的代码,但这个例子不是关于矩形的。这是关于控件,我不知道如何将这个想法用于矩形,因为
rectangle.MouseDown += delegate(object sender, MouseEventArgs e)
{
//do something
}
不起作用。任何想法如何拖放动态添加的矩形?
答案 0 :(得分:0)
您应该将MouseDown
事件添加到UserControl
。然后循环遍历列表并创建一个方法以查看坐标是否在Rectangle
内。如果是,则挂钩并移动它。
因此,您应该添加bool
值,该值在true
事件中设置为MouseDown
,并在false
事件中设置为MouseUp
。然后在MouseMove
事件中,检查mouseDown
值是否为true
。如果是,并且找到Rectangle
,请移动它的位置。