我有一個加載表單的按鈕,因爲它從數據庫獲取大量數據,並且需要幾秒鐘,所以我想提醒用戶等待。Button.Text在表單可見後發生變化
當我點擊按鈕時,按鈕文字不會改變。
這是我使用的按鈕,單擊代碼:
private void btnItemConfigForm_Click(object sender, EventArgs e)
{
var itemConfigBtnText = btnItemConfigForm.Text;
btnItemConfigForm.Text = "Waiting...";
ItemConfigForm form = new ItemConfigForm();
form.Show();
if (form.Created)
{
btnItemConfigForm.Text = itemConfigBtnText;
}
}
如果我註釋掉
if (form.Created)
{
btnItemConfigForm.Text = itemConfigBtnText;
}
然後按鈕文本更改爲等待後新形式的窗口可見。
我錯過了什麼讓窗體可見之前更改按鈕文本。
你問的是錯誤的問題。正確的問題將是_「我如何在後臺加載數據庫條目,以便我的UI線程不會阻塞並且消息繼續處理?」。請參閱[爲什麼不控制更新/刷新中間進程](http://stackoverflow.com/questions/2341731/why-wont-control-update-refresh-mid-process)來解釋。 – CodeCaster
這或多或少是http://stackoverflow.com/questions/1360944/force-gui-update-from-ui-thread的副本。 – Casper
@Casper no,no,no ...不鏈接到該Visual Basic方法。另見[使用-readacted-](http://stackoverflow.com/questions/5181777/use-of-application-doevents)。 – CodeCaster