新建线程读取数据后给赋值:报异常了如何处理。
/////////////////////////////////////////////
if (((Control)barButtonItem1).InvokeRequired )) // 问题哦---工具栏上的控件没有InvokeRequired属性;该怎么解决???
//////////////////////////////////////////////
{
SetTextXml t = new SetTextXml(SetStrXML);
this.BeginInvoke(t, new Object[] { per });
}
else
{
this.barEditItem2.EditValue = per.T; // 给工具栏上的控件赋值
this.barEditItem1.EditValue = per.S;
}
// 问题哦---工具栏(toolbar)上的控件没有InvokeRequired属性;该怎么解决??? 高手进招.。。
/////////////////////////////////////////////
if (((Control)barButtonItem1).InvokeRequired )) // 问题哦---工具栏上的控件没有InvokeRequired属性;该怎么解决???
//////////////////////////////////////////////
{
SetTextXml t = new SetTextXml(SetStrXML);
this.BeginInvoke(t, new Object[] { per });
}
else
{
this.barEditItem2.EditValue = per.T; // 给工具栏上的控件赋值
this.barEditItem1.EditValue = per.S;
}
// 问题哦---工具栏(toolbar)上的控件没有InvokeRequired属性;该怎么解决??? 高手进招.。。
解决方案 »
- 求牛人回答!!C/S下DataGridView绑定数据的问题!!!
- windows server 2008系统安装Sqlserver2005出错!十万火急
- string 数组赋值给datatable
- 确认机制
- c#.net里怎么一次添加多条数据?
- .NET中关于水晶报表的问题
- listbox和dataGridView连接问题
- 请问怎样在.net中的窗口中打开另一个窗口
- execl数据导入的问题?
- 一个好问题 。。。。答对100分
- 今天给客户安装C# winform系统,运行报错,大家帮忙看看,application has generated an exception that could not be handled
- 如何快速给一个数组赋初值?
没用过InvokeRquered这种东西
这个好像有不安全因素的似乎不能用的。
正确做法有2个 第一个Control.CheckForIllegalCrossThreadCalls = false 暂时关闭安全检测 不推荐
第2种 先建立一个 委托 public delegate void DeleEditFrom();
然后在 你修改界面控件的那个线程 这样写
调用控件所在界面的 invoke 假如在一个类里面就是 this.invoke(new DeleEditFrom(EidtFrom)); 比如这个方法是
public void EidtFrom()
{
this.text1.text ="修改的值";
}