问题描述
现在我做了一个基于C/S的文件传输软件,且服务器是多线程的,与每一个客户端都新建一个线程。服务器段用的是tabControl控件,有2个选项页,客户端也是带有2个选项页的tabControl。现在服务器向客户端发送文件,并让显示在tabPage2上,如果客户端加上tabControl1.SelectedTab=tabPage2;就会出现程序没反应的状态,像是死机了。现在如果客户端去掉tabControl1.SelectedTab=tabPage2;程序就可以进行正常运行。这时客户端再将另一文件发回服务器端时,并让显示在tabPage2上,就又会出现死机,是不是和多线程有关啊,服务器段tabControl控件是共享资源。请高手们帮帮忙,急死了??????????谢谢!!!!!
解决方案
解决方案二:
应该是后台线程与界面操作之间的问题,你用的是什么版本的netframework开发的?我记得有个Application.DoEvent()的方法什么的,在你的子线程里操作完界面后调用一下看看。
解决方案三:
我用的是2.0,刚才加了Application.DoEvent();但是还是那样子,怎么回事啊,急死了,帮帮忙啊
解决方案四:
你的线程是不是非常频繁的调用tabcontrol控件?如果是的话,可以考虑间隔性的去调用,就是把数据什么的先记到变量里,然后有间隔的去更新tabcontrol。
时间: 2024-09-20 03:51:22