Javascript 应用程序在运行时崩溃

Javascript 应用程序在运行时崩溃,javascript,c#,crash,freeze,Javascript,C#,Crash,Freeze,这是我的密码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace MafiaspilletBot { public partial class Form

这是我的密码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MafiaspilletBot
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            webBrowser1.Navigate("http://mafiaspillet.no/");
            webBrowser1.ScriptErrorsSuppressed = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SendData();
        }
        private void SendData()
        {
            webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("brukernavn")[0].SetAttribute("value", textBox2.Text);
            webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("passord")[0].SetAttribute("value", textBox1.Text);
            System.Threading.Thread.Sleep(5000);
            webBrowser1.Document.GetElementsByTagName("input").GetElementsByName("login_buton")[0].InvokeMember("click");
            System.Threading.Thread.Sleep(10000);
            DoKrims();
        }
        private void DoKrims()
        {
            webBrowser1.Navigate("http://mafiaspillet.no/kriminalitet3.php");
            System.Threading.Thread.Sleep(10000);
            webBrowser1.Document.GetElementById("submit").InvokeMember("click");
        }
    }
}

但是每次我运行它并填写
textBox1
textBox2,然后通过应用程序提交它们时,整个窗口就停止工作了。我的代码中有没有什么东西会导致这个问题,或者我可以做些什么来解决这个问题?此外,我从未使用过c语言,这是我第一次用c语言制作和完成,因为我认为学习c语言会很有趣。无论如何,即将加载的站点使用了大量javascript,我找不到让
webBrowser1
使用它们的方法,所以我使用了
webBrowser1.ScriptErrorsSuppressed=true
忽略错误消息。

据我所知,您正在使用:

System.Threading.Thread.Sleep(5000);
System.Threading.Thread.Sleep(10000);
System.Threading.Thread.Sleep(10000);
这将使您的应用程序在每次执行
按钮1\u单击
时25秒内无响应。它会发生,因为它是由一个线程处理的。要避免这种情况,请尝试在单独的线程中执行
SendData()

简单的例子是:

Thread SendThread = new Thread(SendData);
SendThread.Start();

您可以尝试在此处读取线程

它是否有可能停止工作25秒?引发的异常是什么?@Sayse是的,这可能是问题所在,但当我使用System.Threading.Thread.Sleep(10000)时;我想让它在做下一件事之前等待10秒你可能希望阅读我使用AD时想要的内容。睡眠我想让它在第一次之后等待5秒。调用记忆(“单击”);在做DoKrims()之前;但我看不出能为那项工作找到计时器