我有一个加载Form的按钮,因为它从数据库中获取大量数据并需要几秒钟,我想建议用户等待。
当我点击按钮时,按钮文字不会改变。
这是我正在使用的按钮点击代码:
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;
}
然后按钮文本变为等待 后新的表单窗口可见。
在表单窗口可见之前,我想要更改按钮文本。
答案 0 :(得分:2)
简单的解决方案是添加这一行:
btnItemConfigForm.Refresh();
此行之后
btnItemConfigForm.Text = "Waiting...";
否则只有在功能结束时才会更改按钮的文本,此功能将重绘表格显示!
P.S。 如果您希望表单不会被阻止 - 您可以在asynchronic中使用该功能" Show" (或新)然后您将需要事件在加载表单时通知第一个表单
抱歉我的英语......:)答案 1 :(得分:0)
已添加
btnItemConfigForm.Update();
下
var itemConfigBtnText = btnItemConfigForm.Text;
btnItemConfigForm.Text = "Waiting...";
在继续初始化和显示表单之前,这会更新按钮Control。