本帖最后由 huge92 于 2014-02-15 21:58:14 编辑

解决方案 »

  1.   

    在控件的Onpaint事件加断点,看两种情况分别是什么时候进去的。
      

  2.   

    我后来试了,只要是把控件移动之后紧接着用label1.CreateGraphics(),再画就画不出来,这是怎么回事?
      

  3.   

    使用一个button调用方法,未重现错误(vs2008)
            private void button1_Click(object sender, EventArgs e)
            {
                label1.Top += 20;            Graphics grap = label1.CreateGraphics();
                grap.DrawString("abc", this.Font, Brushes.Blue, new Point(0, 0));
            }
    1 是否放到特殊的事件里面了,例如OnPaint里面,这个会不停的调用,导致Label放到很远的地方,
    建议:Label.Text= “abe";//这样可以看Label到哪里了。
    2 Label.Top += 22;
    //后面加一句话
    Application.DoEvent();