如何在图片框中移动元素?

时间:2012-12-17 12:55:09

标签: winforms picturebox

有没有简单的方法来移动图片部分(使用DrawImageDrawString创建的任何内容)?

我的聪明主意: 覆盖DrawImage(DrawString)方法添加能力,用于存储绘制图像的宽度,高度,左侧,顶部(如果我使用DrawImage方法,则可以是可调整的布尔变量)到对象列表。将函数“WhatToMove”附加到PictureBox的MouseMove事件,该事件遍历存储的矩形对象列表,检测矩形光标在哪里,如果可调整大小的矩形,则检测光标是否在任何矩形的边界上并将此内容传递为单击时,MouseDown函数的参数。然后MouseDown函数将新函数“MoverResizer”附加到MouseMove事件,该事件使用移动或调整大小的图像部分重绘图片框,更新列表中的正确矩形对象,并从{{分离“WhatToMove” 1}}。在MouseMove和PictureBox的Leave事件中分离“MoverResizer”并附加“WhatToMove”。

如果您认为这个想法可以存在,那么如果告诉我如何覆盖DrawImage,那将对您有所帮助。

我的愚蠢想法:

创建没有文字和边框的标签,并将它们放在PictureBox正确的图像部分上方。然后用自己的活动让它们变得可拖动和相当大。然后将标签的位置转换为图片部分的位置并重绘图片框。这很简单,但我认为不如上述方法那么完美。

0 个答案:

没有答案