C#窗口程序里面如何用鼠标点击一下并在该位置画一张图

2024-12-26 12:35:20
推荐回答(3个)
回答1:

在控件的MouseDown事件里,处理画面的逻辑,以下是我写的示例代码,希望对你有帮助
void MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
//给控件创建一个背景图片,我这里是用Panel控件实现的
if (null == panel1.BackgroundImage)
{
panel1.BackgroundImage = new Bitmap(panel1.Width, panel1.Height);
}

//在背景图片上绘制一个长100,高50的图片
Graphics g = Graphics.FromImage(panel1.BackgroundImage);
g.DrawImage(Image.FromFile(@"XXXXX\XXXX.jpg"),
e.X, e.Y, 100f, 50f);
g.Save();
//刷新绘制的区域,让图片显示出来
panel1.Invalidate(new Rectangle(e.X, e.Y, 100, 50));
}

回答2:

定义:List pointList = new List()
鼠标按下事件:
pointList.Add(new Point(e.x,e.y));
Form1.Invalidate();
窗口重画事件:
Graphics g = e.Graphics;

lock(pointList){
foreach(Point p in pointList)
{
g.DrawImage(...); // 需要画的图像,p 就是鼠标点击的位置
}
}

回答3:

什么?说清楚