60ms更新一次,更新后加
Application.DoEvents();更新有必要这么快吗?人的反应有这么快么?
Application.DoEvents();更新有必要这么快吗?人的反应有这么快么?
解决方案 »
- C# listview中某一个行的subitem中插入多个图片
- C# TcpListener多线程问题
- C#如何访问父类静态变量!
- C#中结构体指针到底怎么用啊?
- 如何将程序最小化到任务栏托盘功能?
- MSRA的笔试题:跪求XML文档的数据读取方法!!
- Winform中richtextbox中图片的复制功能。
- [初学] Html的控件和web form控件的之间的关系.大家都有分儿.
- 续 高分求教 性能问题
- 我用OleDb操作Oracle数据库!连接串中的provider是MSDAORA还是用OraOLEDB.Oracle?
- 如何实现多线程下多定时器的调用?
- 在c#上传资源之后 在列表也用相应的offce格式打开
返回数据写在datareceived事件中就行了。
你设置一个缓冲区,datareceived触发的时候就将信息存入缓冲区中。当数据全部接收上来了,触发一个信号量,给线程。你只需要开一个线程,访问缓冲区就行了。
private void disp() //对处理后的数据在界面上进行显示
{
label31.Invoke(new EventHandler(delegate
{
label31.Text = cunt.ToString();
}));
if (address == 112)
{
switch (fun_code)
{
case 80: //实时浓度
gas_value1.Invoke(new EventHandler(delegate
{
gas_value1.Clear();
gas_value1.SelectionFont = new Font("宋体", 10, System.Drawing.FontStyle.Bold);
gas_value1.SelectedText = ' ' + gas_value.ToString();
}));
break;
case 39: //上限
gas_alarm_up1.Invoke(new EventHandler(delegate
{
gas_alarm_up1.Clear();
gas_alarm_up1.SelectionFont = new Font("宋体", 10, System.Drawing.FontStyle.Bold);
gas_alarm_up1.SelectedText = ' ' + gas_alarm_h.ToString();
}));
break;
case 41: //下限
gas_alarm1.Invoke(new EventHandler(delegate
{
gas_alarm1.Clear();
gas_alarm1.SelectionFont = new Font("宋体", 10, System.Drawing.FontStyle.Bold);
gas_alarm1.SelectedText = ' ' + gas_alarm_l.ToString();
}));
break;
}
这是一部分,然后我就在辅助线程调用的接收数据的方法里调用这个显示,结果还是不行,不知道什么原因?