想在页面上加载一个dll文件,并且想在加载时判断它的状态,比如正在加载时走个进度条,加载完成时再显示,在这个过程中怎样判断加载dll的进度呢?
            //加载路径
            var dllUri = new Uri( Environment.CurrentDirectory + @"\WpfCon1.dll" );
            string uri =  dllUri.ToString( );
            Assembly assembly=Assembly.LoadFrom( uri );
            string NameSpaceStr=assembly.GetTypes( )[0].ToString( );//获取DLL命名空间
            try
            {
                Object obj=assembly.CreateInstance( NameSpaceStr , true );//创建对象
                frm=obj as UserControl;                Canvas.SetZIndex( frm , 0 );
                frm.Width=1024;
                frm.Height=768;                frm.HorizontalAlignment = HorizontalAlignment.Stretch;
                frm.VerticalAlignment = VerticalAlignment.Stretch;
                frm.Margin=new Thickness( 0 , 0 , 0 , 0 );
                Canvas.SetZIndex( frm , 90 );
                user.grid.Children.Add( frm );            }
            catch ( Exception error )
            { MessageBox.Show( error.Message ); }
以上是我加载dll文件的代码~请问应该怎样判断加载时的状态,和进度??
最好有具体的代码~谢谢~!

解决方案 »

  1.   

    加载一个dll,不需要进度条,因为这个过程应该很快。
    如果assembly.CreateInstance 能提供的异步接口的话,就能准确的显示进度条。如果没有异步接口,你可以开启一个线程加载dll, 主线程显示一个进度条,当加载完成后再结束进度条。  
      

  2.   

    加载DLL 不需要那么久吧   
      

  3.   

    我加载的dll比较大~~读取的时间比较长,而且如果没有加载完,显示出来的话,比较卡~~
    能给出具体的代码么~~~如果用线程的话也要判断加载的状态不是么~~~
      

  4.   

    不明白为什么要这样加载dll文件,顶一下好了
      

  5.   

    介绍下吧~我要写一个项目展示的菜单,每一个菜单都是一个软件功能(类似用户控件),把用户控件生成dll文件,然后选择菜单是,加载dll文件,然后运行dll文件~~~还请大家多多帮帮啊~~~最好有具体的dll文件判断进度或者加载状态的代码~~谢谢了~
      

  6.   

    dll 有多大啊!!要那么长时间!!!
      

  7.   

    不大可能准确计算加载进度,也没必要处理更多无谓的工作吧。
    将ProgressBar.Style设为MarQuee,有个进度条在来回跑动表示正加载就可以了。
      

  8.   

    在tb_Crosstab数据表中可以看出,在DYear字段中为年份的重复记录,在Plant字段中记录了各年份的车间名称,而在Oput字段中则记录了某年某车间的生产数量,可以用DYear字段的非重复信息来作为交叉表的主键列,用Plant字段的非重复信息来作为交叉表的列标题名称,用Oput字段的信息在交叉表中添写值。下面用SQL语句来实现交叉表的操作,相关代码如下:
      

  9.   


    可以做个动画表示正在加载,但是怎样才能判断什么时候加载完了呢??
    就是不知道怎样去判断加载dll时的加载状态~~~
      

  10.   

    修改dll是一个办法,引用 10 楼 zzx509 的回复:
    不大可能准确计算加载进度,也没必要处理更多无谓的工作吧。
    将ProgressBar.Style设为MarQuee,有个进度条在来回跑动表示正加载就可以了。
    这个办法也很好啊。
      

  11.   

    这个办法是很好啊~~~
    但是怎样去判断dll文件,是否加载完了啊?
    现在可以做一个进度条来回跑,但是没办法去判断dll是否加载完了~~再把dll加到容器中让dll显示~~
    总不能定个固定的时间去加载吧~?
      

  12.   

    如果加载要很长。那就是你程序的问题了。如果是加载多个DLL的话加进程条还可以。
      

  13.   

    64M的dll~~是dll的问题~~~~~
    请问知道怎么判断dll加载状态么????