private void label2_Paint(object sender, PaintEventArgs e)
        {
            Graphics newgraphics = e.Graphics;
            Pen pen1 = new Pen(Color.Red, 1);
            Point point4 = new Point(0, 40);
            Point point5 = new Point(200, 40);
            newgraphics.DrawLine(pen1, point4, point5);  
        }代码是在label2中画一条直线,请问,这个代码,如果改成用OnPaint方法,该怎么写?
谢谢!!

解决方案 »

  1.   

    没太明白你的意思
    label2_Paint事件就是label2的OnPaint方法触发的呀
      

  2.   

    代码中没有OnPaint,这个词啊,
      

  3.   

    我的意思用OnPaint方法来修改上面的代码
      

  4.   

    要重写Label么?
     public class NewLabel : Label
        {
            protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e);
                //自己的代码
                Graphics newgraphics = e.Graphics;
                Pen pen1 = new Pen(Color.Red, 1);
                Point point4 = new Point(0, 40);
                Point point5 = new Point(200, 40);
                newgraphics.DrawLine(pen1, point4, point5);        }
        }手写代码,可能编译不通过
      

  5.   

    http://www.cnblogs.com/BeyondTechnology/archive/2011/03/25/1995942.html