[英]Winform: How to display form controls only when all controls have been loaded?
我有一個帶有幾個標簽和按鈕的Windows窗體。 例如:
Name : ____
Age : ____
Phone: ____
btnCancel | btnModify
標簽(____)的值是在頁面加載時從數據庫中獲取的。 當我打開此表單標簽時,例如Name,Age,Phone會首先加載,然后在查詢返回結果時更新____,然后顯示btnCancel和btnModify。 我希望在獲取值后立即加載整個表單。 如果我能給出某種表示系統正在處理的指示,那也將非常好。
您可以將所有控件放入“面板”中,然后將Panel.Visible設置為false,並在完成加載和更新后將Panel.Visible設置為true。
表示繁忙狀態的最簡單方法是使用Control.UseWaitCursor屬性。 您應該在另一個線程中進行實際加載。
例如,在窗體或用戶控件內部:
panel1.Visible = false;
this.UseWaitCursor = true;
Task.Run(() => {
var data = LoadTheData();
this.BeginInvoke((Action)(() =>
{
labelName.Text = data.Name;
panel1.Visible = true;
this.UseWaitCursor = false;
}));
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.