Winforms C#在表单之间传递变量[重复]
Posted
技术标签:
【中文标题】Winforms C#在表单之间传递变量[重复]【英文标题】:Winforms C# pass variable between forms [duplicate] 【发布时间】:2016-12-03 00:42:41 【问题描述】:如何将 name
值从 Form1 传递到 Form2?
表格1
public partial class Form1 : Form
public string name = "xxx";
Form2
public partial class Form2 : Form
private void Form2_Load(object sender, EventArgs e)
lblname.Text = name;
解决方案:
表格1
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void button1_Click(object sender, EventArgs e)
string name = "xxx";
Form2 frm2 = new Form2(name);
frm2.Show();
Form2
public partial class Form2 : Form
public Form2(string name)
InitializeComponent();
label1.Text = name;
【问题讨论】:
问了一千次,谷歌你的标题,在你问这个之前你应该做的。 我应该提到我搜索了 100 次吗? 那么你需要提高你的谷歌搜索技能。我觉得我每隔一天就会看到这个问题被问到(并且作为骗子被关闭)。 @Cris google.com/search?q=Winforms+C%23+pass+variable+between+forms 令人沮丧的是看到人们不愿意在研究上投入最少的精力 【参考方案1】:一个简单但不推荐的解决方案是将字段设为静态:
public partial class Form1 : Form
public static string name = "xxx";
那么你可以简单地从另一种形式读取它:
public partial class Form2 : Form
lblName.Text = Form1.name;
【讨论】:
使用静态变量是灾难的根源。我曾开发过以这种方式编写的表单应用程序,除非您想将自己的职业生涯花在寻找不可能找到的错误上,否则静态变量应该保留给全局的、大部分不可变的数据。 @DVK 我完全同意你的看法。事实上,我确实澄清过,根本不推荐这样做。以上是关于Winforms C#在表单之间传递变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在表单之间传递selectionStart属性(monthCalendar)(winforms c#)