我的问题很简单。
我在一个类中有一个方法,我希望这个方法改变TextBox
中的文本。
TextBox
可能会在运行时更改,因此我正在尝试找到一种方法来传递TextBox
当我调用方法时控制为参数。
这甚至可能吗?
提前致谢。
答案 0 :(得分:5)
是的,当然,绝对可能......控件就像任何其他对象一样,所以它可以作为参数传递或存储在变量中
void SayHello(TextBox textBox)
{
textBox.Text = "Hello world";
}
...
SayHello(textBox1);
答案 1 :(得分:2)
只是为此添加更多内容:
您可以将任何类,接口,委托,结构作为参数传递给方法。在您的场景中,TextBox是一个类,因此您可以将其作为参数传递给方法。
当您将任何引用类型(字符串除外)传递给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
}
您会注意到,在调用Method2之后,在Method1中,数据集对象ds已更改。
对于上面的案例编号2申请值类型,请将参数传递为 ref :
void Method2(ref int count)
{
count = count++;
}
此处如果将任何整数传递给此方法,则传递的整数将导致更改。
答案 2 :(得分:0)
如果要将控件用作类中的参数,则需要在顶部使用其命名空间 例如;
using System.Windows.Forms;
namespace myprojectnamespace
{
class myClass
{
public void myMethod(TextBox mytex, RichTextBox searchStr)
{
// ..Codes Here
}
}