在我的WinForm中,我需要在屏幕上绘制选择区域。用户应该能够在角落或边框上拖动选定的矩形以调整大小。如下:
我可以用实心画笔绘制矩形。 从边框或角落拖动时如何使其可调整大小?
private void panel1_MouseDown(object sender, MouseEventArgs e) {
using (Graphics g = this.panel1.CreateGraphics()) {
Pen pen = new Pen(Color.Black, 2);
Brush brush = new SolidBrush(this.panel1.BackColor);
g.FillRectangle(brush, this.panel1.Bounds);
g.DrawRectangle(pen, e.X, e.Y, 20, 20);
pen.Dispose();
brush.Dispose();
}
}
答案 0 :(得分:0)
我认为您可以使用MouseDown
。
MouseMove
首先,此事件会检查是否按下了左键:
if(e.Button == MouseButtons.Left)) {
//Check for the position of your mouse
}
现在,您将放置一些if
语句,以确保根据您的小调整大小框重绘矩形。每个if
将重新计算矩形,删除旧矩形并绘制最新的矩形。
希望这会有所帮助。