button上画的线自动消失了??

EdsionWang 2008-05-27 10:43:22
如题,代码如下
private void button3_Click(object sender, EventArgs e)
{
Graphics mygraph = this.button4.CreateGraphics();
mygraph.DrawLine(new Pen(Color.Blue, 5), 167, 12, 290, 12);
mygraph.DrawLine(new Pen(Color.Blue, 5), 167, 12, 220, 63);
mygraph.DrawLine(new Pen(Color.Blue, 5), 290, 12, 232, 63);
}
点击button3后线画出来了,但几秒后自动消失了。什么原因,谢谢
...全文
167 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
EdsionWang 2008-05-27
  • 打赏
  • 举报
回复
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics mygraph = this.button5.CreateGraphics();
mygraph.DrawLine(new Pen(Color.Blue, 5), 167, 12, 290, 12);
mygraph.DrawLine(new Pen(Color.Blue, 5), 167, 12, 220, 63);
mygraph.DrawLine(new Pen(Color.Blue, 5), 290, 12, 232, 63);
}
这样吗?那我button3_click里面就不用改了?我想在button3_click把图画出来
tianrui456 2008-05-27
  • 打赏
  • 举报
回复
你绘制的图在没有被遮蔽 或最小化 的状态下 是显示正常的, 但是如果被遮蔽或最小化或改变窗口的大小 都会引发窗体的
Onpaint事件 也就是说你话的图 窗体没有记忆住,它只根据他自己的Onpaint函数进行绘制,如果你想在这种条件下显示你自己的图片,就要重写Onpaint函数(在里面加上你的绘图语句)
EdsionWang 2008-05-27
  • 打赏
  • 举报
回复
我不想用paint事件,要用另外一个buttonclick去触发
tianrui456 2008-05-27
  • 打赏
  • 举报
回复
你自己绘制的图形在被遮盖 或 最小化后就消失 ,只要重写 onPaint函数 就可以 函数体内部
 base.OnPaint(e);
Graphics mygraph = this.button4.CreateGraphics();
mygraph.DrawLine(new Pen(Color.Blue, 5), 167, 12, 290, 12);
mygraph.DrawLine(new Pen(Color.Blue, 5), 167, 12, 220, 63);
mygraph.DrawLine(new Pen(Color.Blue, 5), 290, 12, 232, 63);
王集鹄 2008-05-27
  • 打赏
  • 举报
回复
放到按钮的Paint事件中写:
private void button3_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawLine(new Pen(Color.Blue, 5), 167, 12, 290, 12);
e.Graphics.DrawLine(new Pen(Color.Blue, 5), 167, 12, 220, 63);
e.Graphics.DrawLine(new Pen(Color.Blue, 5), 290, 12, 232, 63);
}

110,526

社区成员

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

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

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