我的问题很简单。
我在一个类中有一个方法,我希望这个方法可以更改TextBox
. 在TextBox
运行时可能会发生变化,所以我试图找到一种TextBox
在调用方法时将控件作为参数传递的方法。
这甚至可能吗?
提前致谢。
我的问题很简单。
我在一个类中有一个方法,我希望这个方法可以更改TextBox
. 在TextBox
运行时可能会发生变化,所以我试图找到一种TextBox
在调用方法时将控件作为参数传递的方法。
这甚至可能吗?
提前致谢。
是的,当然,绝对有可能……控件和其他任何对象一样都是对象,因此它可以作为参数传递或存储在变量中
void SayHello(TextBox textBox)
{
textBox.Text = "Hello world";
}
...
SayHello(textBox1);
只是为了增加一点:
您可以将任何类、接口、委托、结构 作为参数传递给方法。在您的场景中 TextBox 是一个类,因此您可以将其作为参数传递给方法。
当您将任何引用类型(字符串除外)传递给 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 发生了变化。
对于上面的案例 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
}
}