gpt4 book ai didi

c# - WinForms UserControl 如何停止控件接收焦点

转载 作者:太空宇宙 更新时间:2023-11-03 20:29:55 47 4
gpt4 key购买 nike

我有一个自定义 UserControl,它只包含一个 TextBox

当我将控件设置为 Enabled = False 时,TextBox 被禁用但控件未被禁用(控件仍会触发 Enter 事件)。

如何确保 UserControl 不会获得焦点?

我启用的属性如下所示:

Private _Enabled As Boolean = True

Public Shadows Property Enabled As Boolean
Get
Return _Enabled
End Get
Set(value As Boolean)
_Enabled = value
txtTime.Enabled = value
End Set
End Property

最佳答案

要回答您的直接问题,您需要将 enabled 属性传递给基础对象:

public new bool Enabled {
get { return _Enabled; }
set {
_Enabled = value;
textBox1.Enabled = value;
base.Enabled = value;
}
}

但是...正确的方法是使用 OnEnabledChanged 覆盖:

protected override void OnEnabledChanged(EventArgs e) {
textBox1.Enabled = this.Enabled;
base.OnEnabledChanged(e);
}

(当你标记为 C# 时,我假设你可以自己转换回 VB.net)

关于c# - WinForms UserControl 如何停止控件接收焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037045/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com