作为参数的 WindowsForm 控件
本文关键字:WindowsForm 控件 参数 | 更新日期: 2023-09-27 18:31:00
我的问题很简单。
我在类中有一个方法,我希望此方法更改TextBox
中的文本。TextBox
可能会在运行时发生变化,所以我正在尝试找到一种传递TextBox
的方法当我调用该方法时,控件作为参数。
这可能吗?
提前谢谢。
是的,当然,这是绝对可能的...控件与其他任何对象一样是一个对象,因此它可以作为参数传递或存储在变量中
void SayHello(TextBox textBox)
{
textBox.Text = "Hello world";
}
...
SayHello(textBox1);
只是为了补充一点:
-
您可以将任何类、接口、委托、结构作为参数传递给方法。在您的方案中,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 }
您会注意到,在方法 1 中调用 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
}
}