c# - 检测哪种类型的控件处于事件状态

标签 c# winforms controls

用于检测Windows窗体中哪些控件被激活

this.ActiveControl = NameOfControl;

检测控件的类型怎么样,例如事件控件是按钮还是文本框?

新编辑:

如果事件控件是文本框类型,我想在按键上执行某些操作,否则什么也不执行

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (this.ActiveControl == xxxx)
            {
                //do SomeThing
            }
              return base.ProcessCmdKey(ref msg, keyData);
        }

在 xxx 中,我应该输入控件名称,但是我该如何处理所有文本框类型的控件?

最佳答案

要确定事件控件是按钮还是文本框,您可以使用 is 运算符。 is 运算符检查对象是否与给定类型兼容。如果 ControlButton 兼容并且表达式产生 true,则该 Control 是一个 Button。

if (ActiveControl is Button)
{

}
else if (ActiveControl is TextBox)
{

}

关于c# - 检测哪种类型的控件处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17419675/

相关文章:

winforms - 将 argb 转换为字符串

c# - 如何使用Control.FromHandle?

c# - 放大图像而不会弄脏像素

c# - 如何手动添加到 swagger 的 schemas 部分?

c# - DataGridView TextBox 列 - 当文本较长时显示文本的右侧部分

C# - 类型约束和限制,是否有任何解决方法来保持类型安全?

c# - 将 List<Double> 绑定(bind)到 WinForms-Listbox

c# - 如何将脚本错误对话框确认到 WebBrowser 中?

asp.net - 无法加载 View 状态。正在加载 View 状态的控制树必须与用于保存 View 状态的控制树匹配

VB6标签最大字符串长度?