窗体b的功能是:利用Timer控件使进度条一直循环走
窗体c的功能是:load事件里根据IP地址连接网络上的一个设备,连接需要一段时间,没有该IP时要很久才能返回值。
窗体a的功能是:显示窗体C;但是由于窗体C由于网络等问题会卡很久才有反应,所以想先显示窗体b隐藏窗体c,等到窗体c返回连接是否成功之后再关闭窗体b显示窗体c。
现在的问题是:当窗体c再连接设备时还是会卡住,窗体b的进度条没动了(应该是timer控件Tick事件没执行)直到窗体c连接完成返回值之后窗体b的Timer1_Tick才会继续执行。窗体c连接设备的方法用线程,窗体b的Timer用Threading.Timer依然是这样。
问题:如何才能让窗体b的进度条一直走而不受窗体c的影响呢
能不能将窗体c的未响应控制在那一个窗体呢?
线程几个窗体都试过,几种情况都试过都一样
|
窗体b加载窗体c的这段代码应该在backgroundworker 里面,或者自己写thread. 当在 Visual Studio 外运行的程序遇到致命错误时,它自动启动 Visual Studio 调试器。实时调试能够在应用程序被操作系统终止之前检查错误。Visual Studio 调试器不需要在发生错误时是运行的。 上面例子中的数据源类型是数组,支持IEnumerable接口,是它作为Linq查询的数据源,IEnumerable能被迭代通过foreach,这是Linq查询是如何执行的.支持IEnumerable或者是一个继承于该接口的其他接口,如IQueryable被称为可查询的类型.除了次类可查询的类型,其他的类型例xml document,Linq提供了可查询的类型XElement 还有强制获得立即查询并且不是获得一个单独的值可以通过调用 现在可以用Binding Path 为控件针对purchaseProduct进行绑定 |