【发布时间】:2014-03-21 17:01:18
【问题描述】:
在我的 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();
}
}
【问题讨论】:
-
你必须一起绘制和处理它们!据我所知,没有简单或快速的方法可以做到这一点。而且,这并不难,您只需在较大的矩形周围绘制这些小矩形,然后将鼠标位置与它们的位置进行比较,然后您就可以触发调整大小代码。顺便说一句,使用 PictureBox 而不是面板。