Control.Invoke 必须用于与在独立线程上创建的控件交互
部署到移动设备上运行if(radioButton1.Checked==true)//提示错误“Control.Invoke必须用于与在独立线程上创建的控件交互”{处理代码...
部署到移动设备上运行
if (radioButton1.Checked == true) //提示错误“Control.Invoke 必须用于与在独立线程上创建的控件交互”
{
处理代码。。。
}
要怎么改写? 请大神贴上代码!
if (radioButton1.Checked == true) 这里怎么用委托事件或者线程写才正确?本人菜鸟 展开
if (radioButton1.Checked == true) //提示错误“Control.Invoke 必须用于与在独立线程上创建的控件交互”
{
处理代码。。。
}
要怎么改写? 请大神贴上代码!
if (radioButton1.Checked == true) 这里怎么用委托事件或者线程写才正确?本人菜鸟 展开
1个回答
展开全部
假如Winform界面上有个Lable控件,叫做lb_Msg,现在通过UDP服务线程收到了新的数据,想在lb_Msg上显示出来。
1、声明一个委托
private delegate void SetMessageDelegate(Label control, string msg);
2、为此委托实例化一个函数
private void setLabelText(Label myControl, string myArg)
{
myControl.Text = myArg;
}
3、调用
object[] myArray = new object[2];
myArray[0] = this.lb_Msg;
myArray[1] = "异步调用成功.";
this.lb_Msg.BeginInvoke(new SetMessageDelegate(this.setLabelText), myArray);
1、声明一个委托
private delegate void SetMessageDelegate(Label control, string msg);
2、为此委托实例化一个函数
private void setLabelText(Label myControl, string myArg)
{
myControl.Text = myArg;
}
3、调用
object[] myArray = new object[2];
myArray[0] = this.lb_Msg;
myArray[1] = "异步调用成功.";
this.lb_Msg.BeginInvoke(new SetMessageDelegate(this.setLabelText), myArray);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询