111,092
社区成员




private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)//鼠标在该控件上按下
{
Graphics g = panel1.CreateGraphics();
g.Clear(this.panel1.BackColor);
g.FillRectangle(new SolidBrush(Color.FromArgb(90, 200, 80)), 0, 0, e.X, this.panel1.Height);
}
}
public Form1()
{
InitializeComponent();
bool press = false;
Point[] line_point = new Point[] { new Point(100, 100), new Point(100, 20) };
Panel panel = new Panel()
{
Size = new Size(200, 200),
Location = new Point(10,10),
BackColor = Color.White,
};
panel.Paint += (s,e)=>
{
Graphics g = e.Graphics;
g.SmoothingMode = SmoothingMode.AntiAlias;
Pen pen = new Pen(Color.SteelBlue, 2);
g.DrawLine(pen, line_point[0], line_point[1]);
};
panel.MouseDown += (s, e) => { press = true; line_point[1] = new Point(e.X, e.Y); panel.Invalidate(); };
panel.MouseUp += (s, e) => { press = false; };
panel.MouseMove += (s, e) => { if (press) { line_point[1] = new Point(e.X, e.Y); panel.Invalidate(); } };
this.Controls.Add(panel);
}