在 VB.Net 中等待变量改变状态的更好方法

2023-12-09

我有一个循环遍历多个值。迭代每个值时,都会将页面加载到 Web 浏览器控件中(将值作为参数传递),并且当加载和读取页面时,循环应转到列表中的下一个值并继续,直到处理完所有值。我需要一种方法来在网站异步加载时暂停该过程,然后在页面加载/读取过程完成后恢复。

我正在做的方法是使用类似的东西,其中“ReadingInProgress”是一个全局变量:

      ReadingInProgress = True
      wb.Navigate("http://mywebsite.com/mypage.aspx" & c)

      While ReadingInProgress
        Application.DoEvents()
      End While

Web 浏览器控件的“DocumentCompleted”事件将“ReadingInProgress”设置为 false,这会导致 while 循环退出并恢复该过程。这可行,但我意识到这会给 CPU 带来压力。有没有更好的、CPU 密集程度较低的方法来做到这一点?

Thanks!


我最近回答了一个类似的问题。解决方案是用 C# 编写的,但您可以使用Async/Await在VB.NET中以非常相似的方式。使用这种技术,您将获得代码的自然执行流程(DocumentComplete事件被封装为Task).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 VB.Net 中等待变量改变状态的更好方法 的相关文章

  • Linux shell 脚本中的 while 循环超时

    这工作正常 无限循环 while TRUE do printf done 我在尝试着timeout this while loop与timeout命令 所有这些都不起作用 timeout 5 while TRUE do printf don
  • 从 WebBrowser 控件 C# 获取滚动值

    我试图在 WebBrowser 控件中获取网页的 Y 滚动索引 但无法访问内置滚动条的值 有任何想法吗 对于标准模式下的 IE 使用文档类型 正如你所说 scrollTop是的财产元素 而不是 HtmlDocument htmlDoc th
  • 如何四舍五入到一半,始终为正方向? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何实现以下舍入 0 0126083
  • Visual Studio 改变 Ctrl-K-D 的工作方式

    In Visual Studio I m using 2012 is there any way of editing the way that Ctrl K D combinations handles its Auto Formatti
  • 在从一个表中提取的循环内调用执行以执行宏

    我目前有以下情况 macro sqlloop event id lots of code mostly proc sql segments mend 生成一个输出表 名为export table2 我需要能够为另一个表 名为 vars 中的
  • 通过 VB.NET 创建/编辑文本文件

    如何在 VB NET 中编写以下算法的代码 Procedure logfile if C textfile txt exist then open the textfile else create the textfile end if g
  • 在matlab中不使用for循环检查数组中的成员资格

    我想简化这段代码 使其无需 for 循环即可工作 for i 1 N for j 1 N if ismember j A PID i i TFP i j PID i i end end end 其中A是一个包含一些标签的矩阵 我之前存储的T
  • 从特定 IP 地址发送 SOAP 请求

    我有一个具有多个 IP 地址的系统 但我只能从一个 IP 地址发起 SOAP 请求 我如何在 VB NET 中获得它 我从来没有这样做过 看起来很复杂 首先 阅读自定义 ASMX 客户端代理的方法 http johnwsaunders3 w
  • 插入具有只读主键列的表

    我正在使用一个使用 sql server 数据库的应用程序 我试图在表中插入一行 如下所示 该表有一个主键 prodNum 这是自动生成的密钥 当我尝试向表中插入一行时 如下所示 在行中intResult oSglProdTableAdap
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • 黑莓 - 带动画的加载/等待屏幕

    有没有办法显示 加载 屏幕带动画在黑莓手机上 选项 PME动画内容 多线程 图像集 定时器 计数器 标准轮辋 API 其他方式 有这个吗 Thanks 费明 安东尼 1 谢谢大家 你们给了我部分答案 我的最终解决方案 1 创建或生成 免费
  • Jquery:将链接标记为已访问而不打开它们?

    我无意仅仅更改链接 我听说这是不可能的 但如果不是 我很想知道如何更改 如果需要的话 我可以将其添加到浏览器历史记录中 我想遍历所有 a 位于页面上并将其状态更改为已访问 例如 a each function mark as visited
  • SQL存储过程执行时间差异

    我在 win form 应用程序中遇到奇怪的问题 我正在调用一个存储过程 并且执行大约需要 6 秒 此存储过程接受多个参数 包括一个输出参数 从应用程序级别我使用 Dim dt1 DateTime Now cmd ExecuteNonQue
  • vb6 中双精度计算的值不正确

    当在 vb6 中添加 2 个值时 我得到一些奇怪的行为 当在立即窗口中针对不同情况打印变量 sum 双精度型 时 如下所示 我得到的结果为 sum 0 sum 0 sum 0 sum 74 46 0 41 sum 74 87 sum 97
  • 更改组合框下拉列表边框的颜色

    My code Private Sub ComboBox2 DrawItem sender As Object e As DrawItemEventArgs Handles ComboBox2 DrawItem If e Index lt
  • VB.NET 中的类型比较

    如何比较 VB NET 中的类型数据类型 我的代码 Private Function Equal ByVal parameter As String ByVal paramenterName As String ByVal dataType
  • VB无法访问不同项目中的类,相同的解决方案

    我正在使用 VB for Visual Studio 工作 并且项目中有一个类需要将变量声明为另一个项目中的类 对于可视化 解决方案 A 包含 Project1 和 Project2 在 Project1 的类中 我需要声明一个变量作为 P
  • xmlns 元素的顺序重要吗

    我不知道如何在 google 中搜索此内容 但是 xmlns 元素的问题在 XML 文件中重要吗 我正在 ASP NET VB 中使用 XMLWriter 创建一个 XML 文件 并且尝试匹配我提供的示例
  • 简单的if检查多个值vb

    在Sql中我们可以像这样过滤 SELECT FROM 表名 WHERE 列名 IN firstValue secondValue 如何在VB Net中检查 有简单的方法吗 或者 只是 If variable firstValue Or va
  • Django中的自动递增值

    我在 django 中有一个表并尝试自动递增它的序列号 在自定义模板中 for 循环用于变量 自定义模板 for i in getodeskview tr td 1 td td i odesk id td td i hours td td

随机推荐

  • 如何检查 C# 中的库 (dll) 是否可用?

    在调用库 dll 之前 如何检查它在运行时是否可用 The 应用程序域 AssemblyLoad and AppDomain AssemblyResolve事件分别发生在加载和加载失败时 如果处理这些事件 您可以确定哪些程序集已加载 哪些程
  • 用 java 8 foreach 替换 for 循环来更新值

    我希望用优雅的 java 8 流或 lambda 解决方案替换以下 for 循环 有没有什么简洁高效的东西 public static void main String args ArrayList
  • Hive tez执行错误

    我正在运行配置单元查询 在设置 hive execution engine tez 时出现以下错误 而查询在 engine MR 下工作 FAILED Execution Error return code 1 from org apach
  • 如何使用 PowerShell 脚本运行 Terraform CLI 并传递映射类型的变量?

    Terraform 文件中的变量 infrastructure tf 声明如下 variable tags type map string 这是执行以下命令的 PowerShell 代码terraform命令行程序plan命令 comman
  • 应用程序从应用程序托盘中删除后,服务的进程被杀死

    当活动启动时 我正在启动服务 或重新启动正在运行的服务 使用 Intent intent new Intent this MyService class startService intent 稍后 基于某些操作 相同的活动使用以下方式绑定
  • 如果其他工作簿关闭,公式不会更新

    我有下面的公式 它引用同一文件夹中的另一个工作簿 但是当文件打开时它工作正常 问题是当另一个 Excel 文件关闭时 因为公式不会更新 另一个工作簿打开时的公式 IFERROR COUNTIFS Auto Zero xlsx MonthDB
  • 获取从 Moment.js 到 ISOString 的意外时间偏移

    我正在尝试标准化ISO 8601 日期格式 string 来自 Moment js 但我没有得到我期望的结果 瞬间的toISOString 方法给我一个带有 17 小时偏移量的输出 而不是午夜 var mom moment 23 11 20
  • 删除鼠标悬停 Google Chart 上的自定义工具提示

    我正在使用时间线谷歌图表 基于此question 我试图添加仅当鼠标移出工具提示时删除工具提示的功能 我的下面的函数成功地将其删除一次 但随后抛出错误 此外 我希望它仅在鼠标移出工具提示后才被删除 google visualization
  • ANTLR:带参数的规则?

    我是 ANTLR 新手 我开始探索 ANTLR 教程 我见过为特定规则定义返回类型的示例 请参见下面的示例 我也可以将参数传递给规则吗 我只是在心里想 我想根据提供给它的论据来改变特定状态下的规则行为 如果在 ANTLR 中可行 请帮助我
  • ORA-00936 缺少表达式

    当用户投票时 我需要更新我的表列 votecount 但我遇到此错误 我不知道该怎么办 private void Vote string VoteId OracleCommand cmd new OracleCommand UPDATE A
  • project.cabal 文件的 build-depends 中的“stack install NAME”和“NAME”有什么区别?

    添加和添加有什么区别package name在下面build depends 项目中的部分 cabal file 与做stack install package name在该项目的目录中 stack install只会将包安装到适当的位置
  • 将格式化的 Excel 范围粘贴到 Outlook 邮件中

    我想将一系列格式化的 Excel 单元格粘贴到 Outlook 邮件中 以下代码 我从各种来源获取 运行时没有错误并发送一条空消息 Sub SendMessage SubjectText As String Importance As Ol
  • 当依赖属性发生更改时是否有通知机制?

    在 Silverlight 应用程序中 我试图找出用户控件上的属性何时发生更改 我对一个特定的 DependencyProperty 感兴趣 但不幸的是该控件本身没有实现 INotifyPropertyChanged 还有其他方法可以确定值
  • 如何在neo4j中按时间戳过滤边缘?

    我有一个以下形式的图表 产品 产品 in stock 更新 时间戳 gt stock items StockItem 数量 q stored at gt 位置 位置 显然更重要的是 但你明白了要点 stock item 节点和 in sto
  • UITabBarController 的“更多”导航控制器在 UINavigationController 下消失

    我在我的应用程序上使用 UITabBarController 和 UINavigationController 在我的 UITabBarController 中 我使用了超过 5 个项目 因此我会自动获取 更多 项目 我已经设法添加一个保存
  • .net cf TextBox 在焦点上显示键盘

    我的 UI 上有一些文本框 我想在控件获得焦点时显示移动键盘 然后消失 注意 对于这个特定的程序 它是一个高屏幕 并且设备上没有物理键盘 将 InputPanel 添加到表单中 连接 TextBox 的 GotFocus 和 LostFoc
  • 将 LINQ to Entity Framework 与 DB2 结合使用

    是否有 IBM 驱动程序 以便我们可以使用 Linq to Entity 框架连接到 DB2 并在 desinger edmx 文件上生成 DB2 实体 任何链接将不胜感激 7已经出来了您可以在PC上安装DB2 9 7客户端来连接任何DB2
  • 抛出另一个异常:FormatException: Invalid number (at character 1)

    为什么会出现错误Another exception was thrown FormatException Invalid number at character 1 在一切恢复正常之前 我的屏幕上会出现几微秒 有时甚至不会发生 下面是我的
  • 尝试通过 jQuery ajax 调用加载 Google 图表

    最初发布在这里 尝试通过 jQuery ajax 调用加载 Google 图表但对我的代码进行了一些修改 但我仍然无法让它正常工作 我正在尝试编写一个轮询函数来加载结果并将其显示在同一页面中而不刷新 我正在使用谷歌图表 api 和 jque
  • 在 VB.Net 中等待变量改变状态的更好方法

    我有一个循环遍历多个值 迭代每个值时 都会将页面加载到 Web 浏览器控件中 将值作为参数传递 并且当加载和读取页面时 循环应转到列表中的下一个值并继续 直到处理完所有值 我需要一种方法来在网站异步加载时暂停该过程 然后在页面加载 读取过程