C# WindowsForm控件作为参数
我的问题很简单 我在一个类中有一个方法,我希望这个方法可以更改C# WindowsForm控件作为参数,c#,winforms,oop,parameters,C#,Winforms,Oop,Parameters,我的问题很简单 我在一个类中有一个方法,我希望这个方法可以更改文本框中的文本。 TextBox在运行时可能会更改,因此我正在尝试找到传递TextBox 当我调用该方法时,将控件作为参数 这可能吗 提前谢谢。当然可以,绝对有可能。。。控件与其他控件一样是对象,因此可以将其作为参数传递或存储在变量中 void SayHello(TextBox textBox) { textBox.Text = "Hello world"; } ... SayHello(textBox1); 只是想补充
文本框中的文本。
TextBox
在运行时可能会更改,因此我正在尝试找到传递TextBox
当我调用该方法时,将控件作为参数
这可能吗
提前谢谢。当然可以,绝对有可能。。。控件与其他控件一样是对象,因此可以将其作为参数传递或存储在变量中
void SayHello(TextBox textBox)
{
textBox.Text = "Hello world";
}
...
SayHello(textBox1);
只是想补充一点:
您可以将任何类、接口、委托、结构作为参数传递给方法。在您的场景中,TextBox是一个类,所以您可以将其作为参数传递给方法
将任何引用类型(字符串除外)传递给方法时,不会对传递的对象进行克隆,对传递对象的更改将反映发送的对象。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
}
您会注意到,在Method1中,在调用Method2之后,dataset对象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
}
}
“如果你自己先尝试一下,似乎会更有效率。”艾德说。如果我没有,我就不会问我的问题了here@PhaDaPhunk然后请告诉我们您尝试了什么(示例代码?),以及尝试时出现了什么问题。将文本框传递给方法是一件相当简单的事情,因此很难想象会出现什么问题。那么,为什么不发布您尝试过的内容呢?TextBox
是一个类似于其他对象的对象,因此如果您知道如何声明一个接受参数的方法,那么您应该能够声明一个接受TextBox
作为参数的方法。问题是,你在这里缺乏信息。具体点。说“它不起作用”之类的话从来没有帮助过。我遗漏了一个Include语句,我认为我已经声明了这些对象,这就是为什么它不起作用,这就是为什么我问自己是否有可能这样做。我不能说,也许是我遗漏了一个包含声明?否则我会自己回答我的问题。这是我的第一个猜测,但它不起作用。我需要在上面包括什么?我现在正在使用这个系统;使用System.Collections.Generic;使用System.Linq;使用系统文本;使用System.IO;您必须导入System.Windows.Forms
,因为它是声明文本框
类的地方,这是我缺少的部分,非常感谢!我是新手,对不起。