gpt4 book ai didi

c# - 将对象传递给不同的窗体

转载 作者:太空狗 更新时间:2023-10-29 21:00:03 24 4
gpt4 key购买 nike

我想在 win 窗体之间传递一个 C# 对象。目前,我已经建立了一个基本项目来学习如何做到这一点,它由两种形式组成——form1 和 form2 以及一个名为 class1.cs 的类,它包含 get 和 set 方法来设置一个字符串变量,其值在 form1 中输入。 (Form 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);
}
}
}

最佳答案

有几种不同的方法可以做到这一点,您可以使用静态类对象,上面的示例非常适合此事件。

public static class MyStaticClass
{
public static string MyStringMessage {get;set;}
}

你不需要实例化这个类,直接调用它

MyStaticClass.MyStringMessage = "Hello World";
Console.WriteLine (MyStaticClass.MyStringMessage);

如果您想要对象的实例,您可以使用以下代码将您在 Form1 上创建的类对象传递到 Form2。

private void button1_Click(object sender, EventArgs e)
{
this.Hide();
Form2 form2 = new Form2();
form2.MyClass = class1;
form2.Show();
}

然后在 Form2 上创建一个属性以接受类对象。

public Class1 MyClass {get;set;}

请记住将 Class1 对象设为全局变量,而不是在按钮 2 本身中创建它。

关于c# - 将对象传递给不同的窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2957388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com