问题:数据库里有三个字段,A、B、C,A字段的值是不断的变化,如果A=B+C值相等了,把当前记录值插入到datagridview中。写了个从数据库查询出A、B、C三个字段的函数,然后把函数在线程中执行, public void RepairAlarm()
{
while(true)
{
if(A==B+C)
{
//记录值插入到datagridview中,
//报错-------线程间操作无效: 从不是创建控件“dgvEquipmentAlarm”的线程访问它。
//这个地方该怎么写?线程间操作该怎么处理?
}
}
}
//线程调用的函数
Thread t = new Thread(new ThreadStart(RepairAlarm));
t.Start();
Thread.Sleep(300);
{
while(true)
{
if(A==B+C)
{
//记录值插入到datagridview中,
//报错-------线程间操作无效: 从不是创建控件“dgvEquipmentAlarm”的线程访问它。
//这个地方该怎么写?线程间操作该怎么处理?
}
}
}
//线程调用的函数
Thread t = new Thread(new ThreadStart(RepairAlarm));
t.Start();
Thread.Sleep(300);
解决方案 »
- 为什么update老提示出错。
- 设置一个按键,使让listBoxDisplay内的内容以首字母排序
- 一个比较有意思的算法
- c#如何调用delphi
- 我用socket 的udp协议发送文件,为什么文件>30M在时候,有时能接收成功,有时就会接收的字节会少?请高手指点一二
- 求助,在winForm下,如何实现DataGrid的数据绑定?
- PictureBox对象的背景用的是一幅图像,而这个背景图像为什么不会改变大小
- Xilium.CefGlue.Samples.WpfOsr.exe报错
- 如何用Windows CE 和Pockect PC模拟器上网
- 如何上传文件(类型不限)到服务器的数据库中
- 为什么回车无效? 费解
- 关于iframe框架问题
Form.CheckForIllegalCrossThreadCalls = False
参考http://www.evget.com/zh-CN/Info/catalog/10040.html
Form.CheckForIllegalCrossThreadCalls = False这个不太推荐啊。学习下。
什么是ThreadSafe线程安全
C#中跨线程访问控件: 委托, Invoke, BeginInvoke