添加一个类似全局变量的东西,从另一个表单中读取它

本文关键字:另一个 表单 读取 一个 全局变量 添加 | 更新日期: 2023-09-27 18:22:28

我想创建一个程序(或者我已经创建了它),希望您在主窗体出现之前输入一个名称。您输入的名称应保存为变量。这并没有那么难,但如果我想从另一种形式中检索它,那是不可能的,该怎么办?

我看了YouTube视频,在谷歌上搜索,但没有找到我需要的东西。我希望你能帮忙。

问候

添加一个类似全局变量的东西,从另一个表单中读取它

全局变量是一种代码气味-它们通常不是一个好主意(它们会导致代码变得脆弱、不稳定)。

在您的情况下,如果您有对第二个表单的引用,您可以将数据传递给它——您可以在这个表单上添加一个属性并填充它

// in Form2
public string Name { get; set; }
// in Form1 (frm2 is a reference to Form2)
frm2.Name = theName;

如果数据是第二种形式的整数,那么另一种方法是创建一个将名称作为参数的构造函数重载。

在表单上创建一个公共属性,然后您就可以从任何地方引用它,例如

public string MyProperty{get; set;};

如果您已经编写了表单类,则可以添加一个公共属性,用于设置名称。

public partial class myForm : Form
{
    public String EnteredName { get; set; }
    public myForm()
    {
        InitializeComponent();
    }
}

然后你可以称之为:

myForm f = new myForm();
f.EnteredName = "My Name";
f.ShowDialog();

这意味着您可以在表单类中执行任何需要执行的操作。

注意:不要调用属性Name,因为它会遮挡窗体的Name属性。