begininvoke参数(lable1.begininvoke(异步委托类型,参数) 是不是意味着这里的)
本文目录
lable1.begininvoke(异步委托类型,参数) 是不是意味着这里的
label1是在主线程中创建的,而你在线程池中去调用,也就是说是在子线程中去调用主线程创建的label1,这会出现异常,属于跨线程访问控件,因此用label1.begininvoke方法,实现跨线程访问控件。原因就是这样。
调用begininvoke如何的到返回值,如何传入ref参数
/// 《summary》 /// 获得数据/// 《/summary》 private void BeginLoadDate(string sBeginDate,string sEndDate,string sFromData){timerRun.Enabled = false;LState.Text = “数据获取中,请稍候......“;BtnStop.Enabled = false;BtnStop.Text = “停 止“;FlagStop = false;PBarImport.Value = PBarImport.Minimum;PBarImport.Visible = false;LTime.Text = ““;LImport.Text = ““;DelegateLoadDateSet loadDateSet = new DelegateLoadDateSet(LoadDataSet); AsyncCallback callback = new AsyncCallback( CallbackLoadDataSet ); loadDateSet.BeginInvoke(sBeginDate,sEndDate,sFromData,callback, loadDateSet); }/// 《summary》 /// 导入数据后的回调方法/// 《/summary》 private void CallbackLoadDataSet( IAsyncResult ar ){// Retrieve the invoking delegate. DelegateLoadDateSet dlgt = (DelegateLoadDateSet)ar.AsyncState; // Call EndInvoke to retrieve the results. DataSet DS = dlgt.EndInvoke(ar); DelegateEndLoadSetUI mi = new DelegateEndLoadSetUI(EndLoadSetUI);this.BeginInvoke(mi,new Object {DS});}
C#中 多线程参数的问题
可以使用异步委托来实现参数的传递.代码势示例:delegate string MyMethod3Delegate(string parameter); private void button3_Click(object sender, System.EventArgs e) { MyClass instance = new MyClass(); MyMethod3Delegate myMethod3 = new MyMethod3Delegate(instance.MyMethod3); myMethod3.BeginInvoke(“parameterValue“,new AsyncCallback(AfterMyMothod3),null); } public void AfterMyMothod3(IAsyncResult result){ AsyncResult async = (AsyncResult) result; MyMethod3Delegate DelegateInstance = (MyMethod3Delegate) async.AsyncDelegate; Console.WriteLine (“函数调用返回值:{0}\n“, DelegateInstance.EndInvoke(result)); } 首先为了使用委托我们声明了一个MyMethod3Delegate的委托,该委托说明一个参数和返回值为string的函数是符合条件的,所以我们在MyClass里面定义了一个MyMethod3的方法。该函数的型构符合上面的委托,所以我们可以在Button3点击的时候用这个方法实例化一个委托,然后我们使用异步的方式调用这个方法,为了得到返回结果我们写了AfterMyMothod3方法用来显示该函数的执行结果。运行程序点击Button3可以看到Output中输出的结果为MyMethod3带参数执行的结果
更多文章:

bothers(havedifficultyincomunicatonwithbothers对吗)
2025年2月16日 06:10

java工程师证书报考条件(2021年考Java工程师的要求有哪些)
2025年4月6日 13:50

sample rate(vray SampleRate通道怎么使用)
2025年3月31日 01:00

fieldset居中(如何在CSS中使div内的li左对齐,同时div在整个页面中处于居中状态;如图)
2025年3月22日 11:00

everyday和every day的区别(every day和everyday有什么区别)
2025年3月25日 23:00

switch pro(switch pro 限定版是国行的还是水货)
2025年2月13日 19:10

regularly是什么意思英语(regularly和often)
2025年4月4日 08:50