我正在嘗試一些非常基本的東西。刷新窗體,即使不是活動窗口
我在我的Windows窗體上有3個標籤,我想從數據庫中的3個不同的查詢中填充,還要顯示用戶正在發生的事情,我想在數據可用時顯示每個標籤來自相應的查詢。
要做到這一點,我可以使用:
Form.ActiveForm.Refresh();
然而,如果用戶點擊桌面上的任何其他窗口,該命令將失敗,並「對象未設置」錯誤。
有什麼辦法可以刷新窗體上的標籤,即使表單窗口不是活動窗口?
// Breach within next hour
DataTable tbBreach = (get info from database)
tbBreach.DefaultView.Sort = "Assignee ASC";
dgBreach.DataSource = tbBreach;
lbBreach2.Text = tbBreach.Rows.Count.ToString();
Form.ActiveForm.Refresh(); //Would like to update this form field now, and show it on the form
// Breach within next 24 hour
DataTable tbBreach24 = (get info from database)
tbBreach24.DefaultView.Sort = "Assignee ASC";
dgBreach24.DataSource = tbBreach24;
lbBreach24.Text = tbBreach24.Rows.Count.ToString();
Form.ActiveForm.Refresh();
謝謝
馬克
原則上,不需要刷新,因爲只要設置Text屬性,標籤就會自動刷新。您是否嘗試刪除刷新行? – digEmAll
嗨@digEmAll - 是的 - 如果我刪除它們,標籤似乎不會更新,直到函數結束(上面的是當有人點擊「更新數字」按鈕時執行),就好像更新表單(或者至少刷新它)根本沒有完成,直到函數完成 - 這就是爲什麼我認爲我可以在每個標籤之後添加Refresh(),但是這會導致錯誤,如果用戶沒有窗口,窗體是on,in focus。非常感謝。 – Mark