C# 如何调用参数?

C# 如何调用参数?,c#,class,parameters,C#,Class,Parameters,我想从class1设置textbox.text,但当我按下按钮时,什么也没有发生。怎么了 namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Class1 c; private void button1

我想从
class1
设置
textbox.text
,但当我按下按钮时,什么也没有发生。怎么了

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Class1 c;
        private void button1_Click(object sender, EventArgs e)
        {
            c = new Class1();
            c.x();
        }
    }
}
这个代码来自
class1

namespace WindowsFormsApplication1
{
    class Class1
    {
        public static Form1 f;

        public void x()
        {
            f = new Form1();
            f.textBox1.Text = "hello";
        }
    }
}

我已经将
textBox1
修饰符更改为public。

当您执行
f=newform1()
时,您将创建一个新表单。如果您已经打开了一个
Form1
实例,那么这将为您提供两个
Form1
实例。对其中一个调用方法不会影响另一个。您必须将表单的引用传递给
Class1
的实例,并调用该引用上的方法

有不同的方法可以做到这一点。可以将引用作为参数传递给
x
方法:

public void x(Form1 f)
{
    f.textBox1.Text = "hello";
}
调用
x
时,可以向其传递特殊变量
this
,该变量是与代码关联的对象。这将把
Form1
的实例传递到
x
,以便
x
可以使用它

c.x(this);

当您执行
f=newform1()
时,您将创建一个新表单。如果您已经打开了一个
Form1
实例,那么这将为您提供两个
Form1
实例。对其中一个调用方法不会影响另一个。您必须将表单的引用传递给
Class1
的实例,并调用该引用上的方法

有不同的方法可以做到这一点。可以将引用作为参数传递给
x
方法:

public void x(Form1 f)
{
    f.textBox1.Text = "hello";
}
调用
x
时,可以向其传递特殊变量
this
,该变量是与代码关联的对象。这将把
Form1
的实例传递到
x
,以便
x
可以使用它

c.x(this);
问题是您在x方法中创建了一个新的Form1实例。根据我的代码片段更改代码,它就会工作


问题是您在x方法中创建了一个新的Form1实例。根据我的代码片段更改代码,代码就会生效。

你能给我举个例子吗,对不起我是c#Thnx Marcus@Marcus Karlsson新手你能给我举个例子吗,对不起我是c#Thnx Marcus@Marcus Karlsson新手吗