我需要根据以下html元素的可见性执行一个方法。
<div id="loading" style="height: 201px; width: 793px; visibility: hidden;">
我用来检查visibility属性的方法工作正常。
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调用。我唯一的选择是检查&#34;可见性&#34;属性。
public void battleloop()
{
if (!isloading())
{
universalclcikbutton();
}
else
{
battleloop();
}
}
我希望循环继续检查isloading()并执行universalclickbutton();每当isloading()为false时。我知道它在方法中调用方法。有人请给我替代品吗?
当涉及到上述代码时,应用程序会冻结,因为它可能是递归的吗?
答案 0 :(得分:0)
您可以尝试使用while循环
,而不是这个像
while (!isloading())
{
universalclcikbutton();
}
所以它会自动调用isloading函数。
答案 1 :(得分:0)
得到了我的答案。事实证明,我不仅仅是一个新手。 我刚从工具箱中使用了计时器控件。
在我执行的timer_tick事件中
private void timer1_Tick(object sender, EventArgs e)
{
if (!isloading()) { universalclcikbutton(); }
}
每当我想开始我的通用按钮();方法我使用了timer.start();和timer.stop();停止循环。事实证明最后很简单