2

我的问题很简单。

我在一个类中有一个方法,我希望这个方法可以更改TextBox. 在TextBox运行时可能会发生变化,所以我试图找到一种TextBox 在调用方法时将控件作为参数传递的方法。

这甚至可能吗?

提前致谢。

4

3 回答 3

6

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

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

...

SayHello(textBox1);
于 2012-04-11T22:02:01.177 回答
2

只是为了增加一点:

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

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

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

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

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

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

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

于 2012-04-12T04:13:10.527 回答
0

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

using System.Windows.Forms;

namespace myprojectnamespace
{
    class myClass
    {
        public void myMethod(TextBox mytex, RichTextBox searchStr)
        {
          // ..Codes Here
        }
}
于 2016-06-15T13:34:40.203 回答