一个 FORM ,上面放了个pictureBox控件,当该 form 启动时,明显出现了该picbox的白色区域,然后才显示图像。我希望让form内的所有控件都彻底加载完毕后才显示form,应该怎么办?谢谢

解决方案 »

  1.   

    是动态添加的pictureBox吗?
    如果是动态创建的,请在创建的前后添加:
    this.SuspendLayout();
    ......
    this.ResumeLayout();
      

  2.   


    如果不是动态呢,
    比如:Form窗体拖放了100多个lbl控件的呢
      

  3.   

    你的思维很奇怪...别人都是想尽办法要让窗口尽量快地显示出来,你反其道而行之,不怕用户骂吗...就你描述的情况看,是你的pictureBox控件中加载的图像太大或者加载过程太慢...你应该这样做...一开始加载窗体时先加载一个很小的本地图片,上面只有简单的画面显示“正在加载图像...”之类的提示或者直接在pictureBox控件上写提示文字...同时用后台线程加载大图片,等图片数据全部取出再加载到pictureBox控件...这才是解决之道...
      

  4.   

      public Form1()
            {
                this.SuspendLayout();
                InitializeComponent();
                this.ResumeLayout();
            }
      

  5.   

    一开始加载窗体时先加载一个很小的本地图片,上面只有简单的画面显示“正在加载图像...”之类的提示或者直接在pictureBox控件上写提示文字...同时用后台线程加载大图片,等图片数据全部取出再加载到pictureBox控件...这才是解决之道...
    不错的方法