想在页面上加载一个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文件的代码~请问应该怎样判断加载时的状态,和进度??
最好有具体的代码~谢谢~!
//加载路径
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文件的代码~请问应该怎样判断加载时的状态,和进度??
最好有具体的代码~谢谢~!
如果assembly.CreateInstance 能提供的异步接口的话,就能准确的显示进度条。如果没有异步接口,你可以开启一个线程加载dll, 主线程显示一个进度条,当加载完成后再结束进度条。
能给出具体的代码么~~~如果用线程的话也要判断加载的状态不是么~~~
将ProgressBar.Style设为MarQuee,有个进度条在来回跑动表示正加载就可以了。
可以做个动画表示正在加载,但是怎样才能判断什么时候加载完了呢??
就是不知道怎样去判断加载dll时的加载状态~~~
不大可能准确计算加载进度,也没必要处理更多无谓的工作吧。
将ProgressBar.Style设为MarQuee,有个进度条在来回跑动表示正加载就可以了。
这个办法也很好啊。
但是怎样去判断dll文件,是否加载完了啊?
现在可以做一个进度条来回跑,但是没办法去判断dll是否加载完了~~再把dll加到容器中让dll显示~~
总不能定个固定的时间去加载吧~?
请问知道怎么判断dll加载状态么????