如何清楚上一次的绘图?

hsie168518 2009-02-26 11:27:12
1.我先在窗体上画了一条直线,
2.我又画了一个十字架,
3.我再画一个十字架,但是我希望把上一个十字架清除,但是直线要保留,这个怎么做?

我不想全部刷了再重绘,因为窗体上面有很多绘图是需要保留的,全部重绘很需要时间,我只想清除上一次绘的图,请大家帮助?


 private void huazhixian_Click(object sender, EventArgs e)
{
float i = 1F;
Pen pen = new Pen(Color.Red, i);
System.Drawing.Graphics g = this.CreateGraphics();
g.DrawLine(pen, new Point(30,30), new Point(200,30));
}

private void huashizhi(Point p)
{
int m = p.X;
int n = p.Y;

float i = 1F;
Pen pen = new Pen(Color.Blue, i);
System.Drawing.Graphics g = this.CreateGraphics();
g.DrawLine(pen, new Point(p.X - 50, p.Y), new Point(p.X + 50, p.Y));
g.DrawLine(pen, new Point(p.X, p.Y - 50), new Point(p.X, p.Y + 50));

}

private void button1_Click(object sender, EventArgs e)
{
Point p=new Point(100,100);
huashizhi(p);
}



private void button2_Click(object sender, EventArgs e)
{
Point p = new Point(200, 200);
huashizhi(p);

??如何清楚上次的??
}
...全文
201 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hsie168518 2009-02-26
  • 打赏
  • 举报
回复

SystemColors.Control

这个就可以了,覆盖上次的最简单,谢谢大家了
zgke 2009-02-26
  • 打赏
  • 举报
回复
一曾绘制到BITMAP里 显示为背景..
this.Refresh()后
你在控件上随便画...
hsie168518 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zgke 的回复:]
如果你只删除上一次操作..

你把开始画的东西和上一次画的+ 分2层...
[/Quote]

怎么分两层?
hsie168518 2009-02-26
  • 打赏
  • 举报
回复

Color.???

有没有系统的颜色?和窗体颜色一样,我想把上一次的覆盖
zgke 2009-02-26
  • 打赏
  • 举报
回复
如果你只删除上一次操作..

你把开始画的东西和上一次画的+ 分2层...


mohugomohu 2009-02-26
  • 打赏
  • 举报
回复
重绘是肯定要滴,你把窗体最小化之后还原,它就重绘一次
hsie168518 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zgke 的回复:]
你不要直接去画出来.你应该建立个动作表.动作表改变去绘制.

这样你可以根据状态表进行绘制..

例如
IList <DrawAction> m_Action =new List <DrawAction>();

你没个次操作对 m_Action进行修改 然后一次把东西刷新到界面上...
不知道你明白了没
[/Quote]

这样好像不好,相当于重绘,我是有一个dataGridView1,我在上面移动数据时,对应的曲线上面的十字架就需要移动,像股票的那个一样。
zgke 2009-02-26
  • 打赏
  • 举报
回复
你不要直接去画出来.你应该建立个动作表.动作表改变去绘制.

这样你可以根据状态表进行绘制..

例如
IList<DrawAction> m_Action =new List<DrawAction>();

你没个次操作对 m_Action进行修改 然后一次把东西刷新到界面上...
不知道你明白了没
hsie168518 2009-02-26
  • 打赏
  • 举报
回复
look
tryfinal2 2009-02-26
  • 打赏
  • 举报
回复
每次都要重画那个直线吧

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧