簡體   English   中英

Winform:如何僅在加載所有控件后才顯示表單控件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM