求助:绘图显示需要按钮按两次问题

zhengsh_bj 2020-10-14 09:06:49
简单例子:在窗体上放置两个完全一样并重叠的Panel控件,Panel1里面有一PictureBox控件,开始显示Panel2,Panel1不显示,按下button按钮,在PictureBox上绘图。代码如下:
问题:需要button按两次才能显示所画的线,为什么按下button不能显示啊?
private void button1_Click(object sender, EventArgs e)
{
panel2.Visible = false;
panel1.Visible = true;
//panel1.BringToFront();
Graphics g = pictureBox1.CreateGraphics();
Pen p = new Pen(Color.Red, 1);
g.DrawLine(p, 10, 50, 200, 100);
p.Dispose();
g.Dispose();

}

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
Pen p = new Pen(Color.Red, 1);
g.DrawLine(p, 10, 50, 200, 100);
p.Dispose();
g.Dispose();
}
...全文
381 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengsh_bj 2020-10-14
  • 打赏
  • 举报
回复
自己解决了。
assky124 2020-10-14
  • 打赏
  • 举报
回复
为啥要CreateGraphics呢,你创建的对象过了作用域就会失效,绘制的内容就没了啊,又不是存图片。 不知道看了那本垃圾教材。 界面的绘图用Paint 事件中的 PaintEventArgs的 Graphics,刷新的时候调用控件的 invalid

111,094

社区成员

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

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

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