在.Net WinForm的设计中,欲一次性向一个容器(比如:Form 或是 Panel)画多个控件Control(比如:label),
程序运行显示时,这些控件不能做到一起显示,而是按照 容器.Add 顺序一个一个显示,
有什么办法能够解决这一问题,使这些画好的控件能够一起显示,而不是一个一个的显示。

解决方案 »

  1.   

    你是在代码中添加控件还是设计器中,设计器中你可以看到下两行代码:
    this.SuspendLayout();//Temporarily suspends the layout logic for the control.  
    this.ResumeLayout(false);//Resumes normal layout logic. Optionally forces an immediate layout of pending layout requests.  
    这些其实就是为实现你说的所有控件绘制后一起显示
      

  2.   

    其实无论是设计器,还是程序添加,最后的结果都是一样:不能一起显示,
    打开VS.NET,建立一个WindowsForm应用程序,在Form1中添加20个label,
    然后就可以跑程序,可以非常明显的看到,这些label的显示顺序,
    咳!这可怎么解决呀?
      

  3.   

    在写文字之前调用this.SuspendLayout();
    写文字之后调用this.ResumeLayout(false);
    如果还是显示太慢,那么要么是你的机器配置比较低了,要么是你的程序太庞大 :)
      

  4.   

    应该是form上的控件太多的缘故,我最近做的一个工程,一个form中有30多个控件,打开VS的时候,也是一个一个显示简化一下你的form吧,多做几个属性页也好
      

  5.   

    把所有的控件放在一个panel中,在属性面板中设置该panel的visible属性为false然后在form的onload事件中设置该panel的visible属性为true试试看~~
      

  6.   

    感谢各位网友的帮助,问题已解决!http://publicbill.cnblogs.com/archive/2005/10/27/263387.html