【发布时间】:2017-11-07 08:41:45
【问题描述】:
我想在按钮单击事件中运行进程时禁用textbox。
我注意到textbox 在事件发生后被禁用,而groupbox 中的radiobuttons 立即被禁用。
该按钮应该在开始时被禁用,并且根据某些方法的返回值,它应该重新启用或保持禁用状态。
这是我当前的代码:
private async void BtnConfirmClick(object sender, EventArgs e)
{
try
{
textbox.Enabled = false;
groupbox.Enabled = false;
await somemethod()
...
}
}
在按钮事件中更改文本时,我遇到了同样的问题。
【问题讨论】:
-
这取决于
somemethod在 UI 线程上同步执行的操作。 -
有几个“异步”方法,一些更改配置文件,一些导入证书,...我希望在按钮单击事件开始时禁用文本框,就像组框的行为一样。跨度>
-
它应该被禁用 - 如果你阻止 UI 线程,只有视觉外观不会反映这一点。您可以通过在
textbox.Enabled = false;之后添加textbox.Update();来查看。 -
是的,当然,UI 线程...不,它有效。非常感谢。我可以将此评论标记为答案吗?