C#如何擦掉画过的线 用鼠标拖动画一条线,不采用背景色去擦掉画过的线,有其它更好的办法吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用ControlPaint.DrawReversibleLine命令画 在onpaint事件里面画,自动擦除的。 除线之外是否有其他图像?线是否是在已有图像上绘制?使用Paint绘制还是BackGroundImage贴图? 看你线是怎么画的只是画在form上的话 画的线会添加到一个List里面 以供Paint绘制用擦掉线的话 只需要将该线从list里面 擦除如果是画到图上的话 貌似擦掉了 也会留下痕迹吧 自己定义啊。 List<Point[]> arrLines = new List<Point[]>(); private void Form1_Paint(object sender, PaintEventArgs e) { if (arrLines.Count > 0) { e.Graphics.DrawCurve(Pens.Black, arrLines[0]); } } private void button1_Click(object sender, EventArgs e) { Point[] arrPoints = new Point[3]; arrPoints[0] = new Point(10, 10); arrPoints[1] = new Point(50, 50); arrPoints[2] = new Point(30, 40); arrLines.Add(arrPoints); this.Invalidate(); }不要了就从list里面删除掉就行了。 是不是只要用event,都应该用WeakEventManager来连接listener和source C#窗体应用程序TextBox 如何寫一個資料同步的Winform C#调试问题 哪位做过这样一个程序,“根据导入dll(file—>open)分析出类,方法和参数”,本人现在毫无头绪,望不啻赐教,多谢!分不够可开新贴! winform 间控件代理问题 清空文件夹 c# 点击datagridview1数据选择性转移到其他控件中 devexpress gridcontrol 多行数据传入 企业应用系统点击按钮弹开共享文件夹怎么实现 任务 急急 c#如何保存自己所画的图形
线是否是在已有图像上绘制?
使用Paint绘制还是BackGroundImage贴图?
只是画在form上的话 画的线会添加到一个List里面 以供Paint绘制用
擦掉线的话 只需要将该线从list里面 擦除
如果是画到图上的话 貌似擦掉了 也会留下痕迹吧
private void Form1_Paint(object sender, PaintEventArgs e)
{
if (arrLines.Count > 0)
{
e.Graphics.DrawCurve(Pens.Black, arrLines[0]);
}
} private void button1_Click(object sender, EventArgs e)
{
Point[] arrPoints = new Point[3];
arrPoints[0] = new Point(10, 10);
arrPoints[1] = new Point(50, 50);
arrPoints[2] = new Point(30, 40);
arrLines.Add(arrPoints);
this.Invalidate();
}
不要了就从list里面删除掉就行了。