我想创建一个程序(或者我已创建它),希望您在主窗体出现之前输入一个名称。您输入的名称应保存为变量。这并不困难,但如果我想从另一种形式中检索它,这是不可能的,该怎么办?
我观看了YouTube视频并在Google上搜索过,但我找不到我需要的内容。 我希望你能提供帮助。
此致
答案 0 :(得分:2)
全局变量是代码味道 - 它们通常不是一个好主意(它们会产生脆弱,不可测试的代码)。
在您的情况下,如果您对第二个表单有引用,则可以将数据传递给它 - 您可以在此表单上添加一个属性并填充它。
// in Form2
public string Name { get; set; }
// in Form1 (frm2 is a reference to Form2)
frm2.Name = theName;
如果数据是第二种形式的组成部分,另一种方法是创建一个以名称作为参数的构造函数重载。
答案 1 :(得分:0)
在表单上创建一个公共属性,然后您就可以从任何地方引用它,例如
public string MyProperty{get; set;};
答案 2 :(得分:0)
如果您已经编写了表单类,则可以添加一个可用于设置名称的公共属性。
public partial class myForm : Form
{
public String EnteredName { get; set; }
public myForm()
{
InitializeComponent();
}
}
然后你可以把它称为:
myForm f = new myForm();
f.EnteredName = "My Name";
f.ShowDialog();
这意味着您可以在表单类中执行任何操作。
N.B。不要调用属性Name,因为它会影响窗体的Name属性。