调用一个方法用来绑定Treeview:
LoadDepartTV(tvDepartment.Nodes, cbbOrgan.SelectedValue.ToString(),cbbOrgan.Text.ToString());
由于用时有点长,想改成异步调用,请问该怎么实现呢
LoadDepartTV(tvDepartment.Nodes, cbbOrgan.SelectedValue.ToString(),cbbOrgan.Text.ToString());
由于用时有点长,想改成异步调用,请问该怎么实现呢
LoadDepartTVHandler handler = new LoadDepartTVHandler();
handler.BeginInvoke(一些参数略);
//entry
private void button1_Click( object sender, EventArgs e ) {
TestMethodHandler handler = new TestMethodHandler(this.TestMethod);
handler.BeginInvoke( new AsyncCallback( CallBack ), this );
} //asynccallback
public void CallBack( object obj ) {
//完成的时候会触发该事件
} //delegate
public delegate void TestMethodHandler(); //testmethod
public void TestMethod() {
System.Threading.Thread.Sleep( 1000 * 60 * 10 );
}
Control.BeginInvoke 只是封装方法之创建线程罢,貌似没有异步调用的功能?还不如开个线程,最后用 Control.BeginInvoke 回到主线程上去