我写了段代码,结果无法实现 private void Form1_Load(object sender, EventArgs e)
{
Label lb = new Label();
lb.Location = new Point(200, 200);
lb.Size = new Size(80, 30);
//lb.BackColor = Color.Tomato;
this.Controls.Add(lb);
Graphics g = this.lb.CreateGraphics();
using (Pen blackPen = new Pen(Color.Black, 1))
{ g.DrawLine(blackPen, new Point(20, 15), new Point(40, 0));
g.DrawLine(blackPen, new Point(20, 20), new Point(40, 5));
g.DrawLine(blackPen, new Point(40, 0), new Point(60, 15));
g.DrawLine(blackPen, new Point(40, 5), new Point(60, 20));
g.Dispose();
}
}难道g.DrawLine一定要写到onpaint方法里吗?写在onpaint方法里,就只有form改变才能画出直线来,
达不到我要的要求啊!要在form打开的同时,就在label上画线 ,这要怎么搞?
谢谢了。
{
Label lb = new Label();
lb.Location = new Point(200, 200);
lb.Size = new Size(80, 30);
//lb.BackColor = Color.Tomato;
this.Controls.Add(lb);
Graphics g = this.lb.CreateGraphics();
using (Pen blackPen = new Pen(Color.Black, 1))
{ g.DrawLine(blackPen, new Point(20, 15), new Point(40, 0));
g.DrawLine(blackPen, new Point(20, 20), new Point(40, 5));
g.DrawLine(blackPen, new Point(40, 0), new Point(60, 15));
g.DrawLine(blackPen, new Point(40, 5), new Point(60, 20));
g.Dispose();
}
}难道g.DrawLine一定要写到onpaint方法里吗?写在onpaint方法里,就只有form改变才能画出直线来,
达不到我要的要求啊!要在form打开的同时,就在label上画线 ,这要怎么搞?
谢谢了。
lb.Location = new Point(400, 200);
lb.Size = new Size(80, 30);
//lb.BackColor = Color.Tomato;
lb.Paint += new PaintEventHandler(lb_Paint);
this.Controls.Add(lb); void lb_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
using (Pen blackPen = new Pen(Color.Black, 1))
{ g.DrawLine(blackPen, new Point(20, 15), new Point(40, 0));
g.DrawLine(blackPen, new Point(20, 20), new Point(40, 5));
g.DrawLine(blackPen, new Point(40, 0), new Point(60, 15));
g.DrawLine(blackPen, new Point(40, 5), new Point(60, 20)); } }
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/