GDI画线的清除

net0003 2008-05-23 01:06:09
GDI画出的线,保留到窗口改变,也就是说窗口改变的时候,清除所画的线
怎么实现

private void Frm_Resize_1(object sender, System.EventArgs e)
{
//怎么在这里清除画的线
}

...全文
813 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
net0003 2008-05-26
  • 打赏
  • 举报
回复
解决了 ,在Paint里判断一下才窗口的状态,让它重画,谢谢各位,这次分少,以后补上
net0003 2008-05-26
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 csharp_start 的回复:]
Resize会引发Onpaint方法,所以你只需要在OnPaint方法或Paint事件中判断窗体是否最大化,如果是则Clear()
[/Quote]

想要这个意思
csharp_start 2008-05-25
  • 打赏
  • 举报
回复
Resize会引发Onpaint方法,所以你只需要在OnPaint方法或Paint事件中判断窗体是否最大化,如果是则Clear()
ILOVEYOULOVEME 2008-05-23
  • 打赏
  • 举报
回复
用List<LineClass>存储线类
然后在Form1_Paint上画呵,
通过Mouse_Down选取要要删除的线,删除List中对应的对象,
然后this.Invalidate();就可以了吧
不知道是不是你想要的,,
llx529 2008-05-23
  • 打赏
  • 举报
回复
双缓存,先建一Bitmap,将不要刷除的东东画在这里,然后再将这个bitmap画到你的窗体,再将线画到窗体,Resize的时候重画bitmap,不画你的线。
net0003 2008-05-23
  • 打赏
  • 举报
回复
不是橡皮条
我的目的只是在我要删除我画线的地方刷掉我画出来的线就OK
优途科技 2008-05-23
  • 打赏
  • 举报
回复
http://blog.csdn.net/last_impression/archive/2008/05/20/2463647.aspx
优途科技 2008-05-23
  • 打赏
  • 举报
回复
是要实线橡皮条的功能吗?
net0003 2008-05-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yatobiaf 的回复:]
graphic.clear(panel.BackColor);
[/Quote]

可以达到清除的目的,但是我想在窗口的最大画的时候清除,代码应该放在哪,我写在
private void Frm_Resize(object sender, System.EventArgs e)
{
}


中,才开始画的线也没有了 ,怎么窗口最大化的时候在清除
yatobiaf 2008-05-23
  • 打赏
  • 举报
回复
graphic.clear(panel.BackColor);
net0003 2008-05-23
  • 打赏
  • 举报
回复

private void pl_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{

e.Graphics.DrawLine(new Pen(Color.Black,5 ), new Point(),new Point());

}


画线就这么画
wyqdcp2008 2008-05-23
  • 打赏
  • 举报
回复
请问,C#.net 用GDI+怎样画直方图?
net0003 2008-05-23
  • 打赏
  • 举报
回复
起始我做的很简单的,就是把panel中的picturebox分割成几段,clear就的 clear panel的背景色吧,但是panel的背景色是我直接在属性中设定,Color.里面没有哦
yatobiaf 2008-05-23
  • 打赏
  • 举报
回复
那就设clear的参数为你想要的颜色啊!。你开始绘制的时候肯定要用一把刷子把背景先刷一边吧?就用那把刷子的颜色吧啊。
net0003 2008-05-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 csharp_start 的回复:]
graphic.clear();
[/Quote]


clear()需要有参数啊 ,但是背景色不也变成了参数的颜色了么
csharp_start 2008-05-23
  • 打赏
  • 举报
回复
graphic.clear();
net0003 2008-05-23
  • 打赏
  • 举报
回复
没有别的办法么,不会异或
viena 2008-05-23
  • 打赏
  • 举报
回复
用异或混色方式画,原地重画即可擦除~

111,093

社区成员

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

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

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