我試圖創建一個啓動然後GUI應用程序後,它已經顯示我希望它運行使用Web客戶端()其他功能,一旦做它的查詢是應該輸出到頁面上的標籤。我已經嘗試過使用顯示和其他一些事件,但是所有這些事件在完成查詢之前都停止加載GUI。有運行功能運行異步或後臺工作麻煩
我使用一個線程嘗試,它不會允許更新標籤,因爲它是在不同的線程,我試過異步但不能設法得到某種原因導致現在我在中間嘗試一個後臺工作人員,我沒有得到任何錯誤,但標籤沒有得到更新。
現在我有一些看起來像這樣
public project()
{
InitializeComponent();
BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += querysite;
}
private void querysite(object sender, DoWorkEventArgs e)
{
WebClient myWebClient = new WebClient();
myWebClient.Headers.Add("user-agent", "libcurl-agent/1.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
byte[] myDataBuffer = myWebClient.DownloadData("http://example.com/SystemStatus");
string download = Encoding.ASCII.GetString(myDataBuffer);
if (download.IndexOf("is online") !=-1)
{
systemStatusLabel.Text = "System is up";
}
else
{
systemStatusLabel.Text = "System is down!";
}
throw new NotImplementedException();
}
是不是我做錯了嗎?有沒有更好的方法來完成這一點?我一直堅持這幾個小時,並找不到任何我需要它做的事情。
這工作得很好,最初得到了一個混蛋,因爲我無法調用bw.RunWorkerAsync();從表單中出現的事件出於某種原因,但是我在聲明之後立即放置它,並且它完美地工作。非常感謝你! – zfb