【问题标题】:Check this recursive code in a C# webbrowser control在 C# webbrowser 控件中检查此递归代码
【发布时间】:2016-04-09 23:22:31
【问题描述】:

我需要根据以下html元素的可见性执行一个方法。

<div id="loading" style="height: 201px; width: 793px; visibility: hidden;">

我用来检查可见性属性的方法工作正常。

 public bool isloading()
                  {
                      string v;

                     v= webBrowser1.Document.GetElementById("loading").Style;
                     if (v.Contains("visible")) { return true; }
                     if (v.Contains("hidden")) { return false; }
                     else
                         return false;

                  }

我就是这样使用的。应用程序在进入此代码时冻结。需要帮忙。我不能使用 webbrowser1.documentcompleted 事件,因为这是一个 AJAX 调用。我唯一的选择是检查“可见性”属性。

 public void battleloop()
                  {
                      if (!isloading())
                      {
                          universalclcikbutton();
                      }
                      else 
                      {
                          battleloop();
                      }
                   }

我希望循环继续检查 isloading() 并执行universalclickbutton();每当 isloading() 为假时。我知道它在方法中调用方法。有人可以给我替代方案吗?

当涉及到上述代码时,应用程序会冻结,因为它是递归的,可能吗?

【问题讨论】:

  • 我认为我没有其他可以订阅的活动(在互联网上浏览了几个小时)。是的,我坚持我的方法。有什么方法可以一直检查html元素的属性,然后根据属性的变化执行方法。我是编程新手,所以请多多包涵:) .
  • 专业提示:提问时,不要使用全部大写的喊叫,不要使用全部粗体,也不要要求“尽快”提供帮助——这是一个被否决的好方法。
  • 哦。这个论坛的新手,只是想知道你被否决了

标签: c# html visual-studio-2012 recursion


【解决方案1】:

你可以尝试使用while循环来代替这个

喜欢

while (!isloading())
{
    universalclcikbutton();
}

所以它会自动调用isloading函数。

【讨论】:

  • 啊。我的错。将编辑帖子需要继续在无限循环中执行该方法,直到我单击另一个按钮。我也试过这个while循环。我想在 (isloading()) 和 agian 时退出循环,我想调用 while 循环所在的方法
  • 根据您回答中的代码,它只会执行一次。我想继续执行该方法,直到我按下一个按钮(当然,当 isloading()=true 我不想执行时。但我希望循环继续)
【解决方案2】:

得到了我的答案。结果我比我想象的更像一个新手。 我刚刚使用了工具箱中的计时器控件。

在我执行的 timer_tick 事件中

 private void timer1_Tick(object sender, EventArgs e)
                  {
                      if (!isloading()) { universalclcikbutton(); }

                  }

每当我想启动我的universalbuttonclick();我使用 timer.start() 的方法;和 timer.stop();停止循环。最终结果很简单

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 2015-09-10
    • 2012-02-20
    • 2011-10-23
    • 1970-01-01
    相关资源
    最近更新 更多