因为加载的文件多,如果在Load中加载,窗口会好长时间才出现,
不想采用多线程加载,
有没有这个事件??
或者是窗口的控件出现后的事件也行(控件出现,窗口肯定出现了).

解决方案 »

  1.   

    要注意,只有在首次显示窗体时才会引发 Shown 事件;随后执行的最小化、最大化、还原、隐藏、显示或无效化和重新绘制操作都不会引发该事件。
      

  2.   

    vrhero(授人以渔还要看对象...天才=99%的汗水+1%的灵感,) Form.Shown是第一次出现的时候还是之后呢.
    我刚才用了,感觉效果不理想
      

  3.   

    用Activated试试?这个事件不知道合不合适你用,因为当窗口失去焦点后重新获取时会再激发该事件的。但事在人为,你也可以申明一个变量做开关:        public bool IsOpen=false;
            private void frmVoteM_Activated(object sender, EventArgs e)
            {
                if(IsOpen!=true)
                {
                     MessageBox.Show("执行了代码段!");
                     IsOpen=true;//设置为已经打开状态。
                }
            }
      

  4.   

    //
    // TODO: 在此处添加构造函数逻辑
    //
    的后面加吧
      

  5.   

    Load事件  在第一次显示窗体前发生。
      

  6.   

    vrhero(授人以渔还要看对象...天才=99%的汗水+1%的灵感,) ( 确实是这个了.刚才我忘了把Load中的一行代码注释掉.不过出现后,窗口不能做别的,直到加载完成.看来还是需要多线程的.
      

  7.   

    回复人:ismezy2002(WOW) ( 五级(中级)) 信誉:95  2007-08-01 17:15:51  得分:03楼的事件自己写的?
    --------------
    此事件在 .NET Framework 2.0 版中是新增的。
    感觉效果不理想也许你该优化代码或加个进度条之类的改善用户体验了...
      

  8.   

    wuhuabucai(混乱) 
    异步?
    就是多线程吧?!