目前知道2种方法,经过测试2种方法都能用,但第二种方法在本人做的项目中不能用(单独一个窗体的测试可以)如果找出为什么第二种方法不能用会及时更新次日志,哪位高手知道为什么请告诉小弟一声。
方法一:
1.在项目中引用自定义的dll文件
2.在程序中使用:
private void button1_Click(object sender, EventArgs e)
{
System.Threading.Thread th = new System.Threading.Thread(waiting);
th.Start();
System.Threading.Thread.Sleep(5000);//需要长时间执行的程序,如果不用等待图标,会出现假死现象
th.Abort();
}
private void waiting()
{
Wait.Form1 wt = new Wait.Form1();
wt.ShowDialog();
}
方法二:
不用加引用,直接用下面代码即可使用(有点混淆了,两种方法在一起测试的,所以记不得是否要加引用了,好像记得不用,因为先试的是此方法)
private void button2_Click(object sender, EventArgs e)
{
System.Threading.Thread th = new System.Threading.Thread(wait);
th.Start();
System.Threading.Thread.Sleep(5000);//需要长时间执行的程序,如果不用等待图标,会出现假死现象
th.Abort();
}
private void button3_Click(object sender, EventArgs e)
{
System.Reflection.Assembly assm = System.Reflection.Assembly.LoadFrom(@"G:\C# 等待程序\Wait 控件\Wait\Wait\bin\Debug\Wait.dll");
Type TypeToLoad = assm.GetType("Wait.Form1");
object obj;
obj = Activator.CreateInstance(TypeToLoad);
Form formToShow = null;
formToShow = (Form)obj;
formToShow.Show();
}