我有一个 Windows 窗体应用程序,我有一个 UserControl,它有一些组框和一些应该根据用户角色启用或禁用的按钮,如下所示:
this.btnEditArchive.Enabled = (ActiveUser.Instance.role == DConstants.kAdmin || ActiveUser.Instance.role == DConstants.kSuperAdmin);
这放在_Load 事件中。现在有时当我在页面之间切换时, 这些按钮看起来没有被禁用。但是当我试图去触摸它们时,它们就变成了残疾。似乎 UI 以某种方式未正确绘制。如何解决这个问题?这可能是什么原因?
最佳答案
这可能是错误的,但根据this , _Load
事件只发生一次,即第一次调用 Form 时。也许将您的代码放入 _Activated
事件中就可以解决问题?
编辑
我对答案是什么感到困惑,但原理是一样的:_Load
事件仅在第一次调用时发生一次。因此,如果您需要在它们之间切换时更新某些内容,请将您的代码放入 _VisibleChanged
事件中。
关于c# - 按钮有时不会在 Windows 窗体上被禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53932348/