1

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

我观看了 YouTube 视频并在 Google 上进行了搜索,但没有找到我需要的内容。我希望你能帮忙。

问候

4

3 回答 3

2

全局变量是一种代码味道——它们通常不是一个好主意(它们会导致脆弱、不可测试的代码)。

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

// in Form2
public string Name { get; set; }

// in Form1 (frm2 is a reference to Form2)
frm2.Name = theName;

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

于 2013-07-16T14:27:06.997 回答
0

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

public string MyProperty{get; set;};
于 2013-07-16T14:29:10.313 回答
0

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

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

    public myForm()
    {
        InitializeComponent();
    }
}

然后您可以将其称为:

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

这意味着您可以在表单类中做任何您需要做的事情。

注意不要调用属性名称,因为它会影响表单的名称属性。

于 2013-07-16T14:37:54.850 回答