我想创建一个程序(或者我已经创建了它),它希望您在主窗体出现之前输入一个名称。您输入的名称应保存为变量。没那么难,但是如果我想从另一个表格中检索它,那是不可能的,怎么办?
我观看了 YouTube 视频并在 Google 上进行了搜索,但没有找到我需要的内容。我希望你能帮忙。
问候
全局变量是一种代码味道——它们通常不是一个好主意(它们会导致脆弱、不可测试的代码)。
在您的情况下,如果您有对第二个表单的引用,您可以将数据传递给它 - 您可以在此表单上添加一个属性并填充它。
// 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();
这意味着您可以在表单类中做任何您需要做的事情。
注意不要调用属性名称,因为它会影响表单的名称属性。