我想在win表单之间传递一个C#对象.目前,我已经设置了一个基本项目来学习如何执行此操作,该项目由两个形式组成 - form1和form2以及一个名为class1.cs的类,其中包含get和set方法,用于在form1中输入的值设置字符串变量.(表单2应该获取存储在class1对象中的值)
如何从form1中设置的对象中获取字符串值?我需要将它作为参数传递给form2吗?
任何评论/帮助将被指定!
谢谢,
编辑:这是我目前的代码:(form1.cs)
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form2 = new Form2();
form2.Show();
}
private void button2_Click(object sender, EventArgs e)
{
if (textBox1.Text != "")
{
Class1 class1 = new Class1();
class1.setStringValue(textBox1.Text);
}
}
}
Run Code Online (Sandbox Code Playgroud)
}
Pau*_*bot 10
有几种不同的方法可以使用静态类对象,上面的示例对于此活动是理想的.
public static class MyStaticClass
{
public static string MyStringMessage {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
您不需要实例化该类,只需调用它即可
MyStaticClass.MyStringMessage = "Hello World";
Console.WriteLine (MyStaticClass.MyStringMessage);
Run Code Online (Sandbox Code Playgroud)
如果需要对象的实例,可以使用以下方法将在Form1上创建的类对象传递给Form2.
private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form2 = new Form2();
form2.MyClass = class1;
form2.Show();
}
Run Code Online (Sandbox Code Playgroud)
然后在Form2上创建一个属性来接受类对象.
public Class1 MyClass {get;set;}
Run Code Online (Sandbox Code Playgroud)
记得让Class1对象成为全局变量,而不是在按钮2本身内创建它.