如何将活动控件转换为文本框类型

本文关键字:文本 类型 转换 控件 活动 | 更新日期: 2023-09-27 18:35:11

我有一个这样的函数:

public static void NewFunction (TextBox txtOne)
{
  //Do Something with txtOne
}

现在我想将当前的活动文本框传递给 txtOne。我试图称之为

NewFunction(ActiveControl.Name)

但这说的是无效的论点。请有人可以帮助我解决这个问题吗?

谢谢

如何将活动控件转换为文本框类型

你快到了,但你犯了一个错误。调用方法时,需要传递控件,而不是其名称

NewFunction(ActiveControl)

现在,如果您有多个控件,多个类型的控件,您可能会遇到问题。因此,为此,您应该执行以下操作 - make 数据类型为 Control 的参数并添加此代码

public static void NewFunction (Control ctrl)
{
    TextBox tb = ctrl as TextBox;
    if (tb != null)
    {
        //Do Something with txtOne
    }
}

这是因为ActiveControl.Name属性是string的类型。应将ActiveControl转换为TextBox类型的值,并将此值传递给函数。
下面是示例:

var textBox = ActiveControl as TextBox;
if (textBox != null)
   NewFunction(textBox);