VB.NET学习笔记:多线程加委托实现等待窗体(loading正在加载界面),运行超时可以取消操作

这篇VB.NET学习笔记介绍了如何通过多线程和委托来创建等待窗体(loading界面),并解决了异步委托无法控制线程进度的问题,使得运行超时或用户取消时能够有效终止操作。文章详细阐述了使用Thread的ThreadState属性监测线程状态以及Abort方法中断进程的方法。
摘要由CSDN通过智能技术生成

在《异步委托实现等待窗体(loading界面),执行任务超时可以取消操作》一文,通过异步委托貌视能很好的实现了所要的效果,但因异步委托无法控制线程进度,也就是说不能人工干预线程,所以取消操作就是一摆设,存在BUG,本文通过多线程修改了该BUG。
正在加载界面
取消操作
等待窗体WaitForm代码如下:

Imports System.Threading

Public Class WaitForm
    Private _MaxWaitTime As Integer
    Private _WaitTime As Integer
    Private _CancelEnable As Boolean
    Private _AsyncResult As IAsyncResult
    Private _method As MethodInvoker
    Dim th As Thread
    Public Property Message As String
    Public Property TimeSpan As Integer


    Public Sub New(ByVal method As MethodInvoker, ByVal maxWaitTime As Integer, ByVal waitMessage As String, ByVal cancelEnable As Boolean, ByVal timer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值