作为参数的 WindowsForm 控件

本文关键字:WindowsForm 控件 参数 | 更新日期: 2023-09-27 18:31:00

我的问题很简单。

我在类中有一个方法,我希望此方法更改TextBox中的文本。TextBox可能会在运行时发生变化,所以我正在尝试找到一种传递TextBox的方法当我调用该方法时,控件作为参数。

这可能吗?

提前谢谢。

作为参数的 WindowsForm 控件

是的,当然,这是绝对可能的...控件与其他任何对象一样是一个对象,因此它可以作为参数传递或存储在变量中

void SayHello(TextBox textBox)
{
    textBox.Text = "Hello world";
}
...
SayHello(textBox1);

只是为了补充一点:

  1. 您可以将任何类、接口、委托、结构作为参数传递给方法。在您的方案中,TextBox 是一个类,因此您可以将其作为参数传递给方法。

  2. 当您将任何引用类型(字符串除外)传递给 Method 时,不会对传递的对象进行克隆,对传递对象的更改将反映发送的对象。 e,g :

    void  Method1 ()
    {
     DataSet ds = new DataSet();
     ..do some opeartion on ds.....          
     Method2(ds);
     ..print details of ds
    }
    Method2(DataSet myds)
    {
     ..do something to ds
    }
    

    您会注意到,在方法 1 中调用 Method2 后,数据集对象 ds 发生了变化。

  3. 对于上面的案例 2 以应用于值类型,请将参数作为 ref 传递:

      void Method2(ref int count)
      {
           count = count++;
      }
    

    在这里,如果您将任何整数传递给此方法,则传递的整数将导致更改。

如果要将控件用作类中的参数,则需要在顶部使用它们的命名空间如;

using System.Windows.Forms;
namespace myprojectnamespace
{
    class myClass
    {
        public void myMethod(TextBox mytex, RichTextBox searchStr)
        {
          // ..Codes Here
        }
}