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新手吗