Timer控件如何不被其他窗体的代码所影响

本文探讨了在多窗体应用程序中如何解决窗体C连接设备导致的UI阻塞问题。介绍了通过使用线程和BackgroundWorker来确保窗体B的进度条能够持续更新,不受窗体C网络连接延迟的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

窗体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的未响应控制在那一个窗体呢?
弄个线程来控制timer。这样就不会假死了
线程几个窗体都试过,几种情况都试过都一样

窗体b加载窗体c的这段代码应该在backgroundworker 里面,或者自己写thread.
“线程几个窗体都试过,几种情况都试过都一样”你没写队
做课程设计,在启动调试后,实现功能后,关闭了所有窗口,可还是提示正在运行。有这样的说明

当在 Visual Studio 外运行的程序遇到致命错误时,它自动启动 Visual Studio 调试器。实时调试能够在应用程序被操作系统终止之前检查错误。Visual Studio 调试器不需要在发生错误时是运行的。 
工具- 选项- 调试 -实时里可设置 
这是我登录窗口的“确定”按钮的代码,身份合实正确后就打开主窗口frmMain,好像是Me.Finalize出了问题,我删了这一句就会出现我说的那种情况,不过登录窗口不会自动关闭,能用什么语句代替一下吗?

上面例子中的数据源类型是数组,支持IEnumerable接口,是它作为Linq查询的数据源,IEnumerable能被迭代通过foreach,这是Linq查询是如何执行的.支持IEnumerable或者是一个继承于该接口的其他接口,如IQueryable被称为可查询的类型.除了次类可查询的类型,其他的类型例xml document,Linq提供了可查询的类型XElement
查询是想从数据源获得数据,查询可以指定什么信息应该被选择,被分类等并且什么类型应该被返回,一个查询语句至少应该包含2个语法元素from 和select
假如查询要返回一系列的值,查询变量必须是可查询的类型,最重要的是要集注查询变量本身不会采取任何行为,查询也不会返回数据.他仅仅是保存查询的信息,你创建了查询,当你去执行的时候才回获得数据
当查询创建的时候查询变量本身知识存储查询的命令,真正意义上的查询被推迟到当你通过foreach循环在查询变量上迭代时候.
查询中返回一系列结果,查询变量本身不去拥有查询结果,着意味这你可以执行查询随你所需要,数据源没时刻更新,你也可以随时执行查询获得不同的数据.与前面的不同,即使查询获得单独的一个值而且是立即的

还有强制获得立即查询并且不是获得一个单独的值可以通过调用
ToList或者ToArray方法在一个查询变量身上
vs中,在项目的快捷菜单里有一项“查看类关系图"

现在可以用Binding Path 为控件针对purchaseProduct进行绑定
但是我想绑定purchaseProduct.productinfo 的name属性。不知道Path 格式怎么写?
刚买了两个WAVECOM wmod2 短信猫,供应商只提供AT指令,但不知道如何使用
我想通过以下数据库中已有的四张表来进行控制收发
来源:足球直播

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值