【问题标题】:Transferring variable values from Form1 to Form2将变量值从 Form1 传输到 Form2
【发布时间】:2014-10-30 22:32:45
【问题描述】:

我一直很难将变量值从表单 1 转移到表单 2。问题是我想在 Form 2 加载后立即在 Form2 文本框中显示我在 Form1 中初始化的结果(当我单击相应的按钮时,会出现 ShowDialog())。

我的问题是结果没有在我的 Form2 中传输,给我的所有变量一个 0 值。

这是我在表单中输入的内容:

//Variables in my Form 1

public partial class Form1 : Form
{
   public static double VAR_1 = 1;
   public static double VAR_2 = 2;
   public static double VAR_3 = 3;

   //Here I put all my textBoxes and other methods of the class
}

//Variables in my Form 2

public partial class Form2 : Form
{
    private void Form2_Load(object sender, EventArgs e)
    {
         this.textBox1.Text = Form1.VAR_1.ToString();
         this.textBox2.Text = Form1.VAR_2.ToString();
         this.textBox3.Text = Form1.VAR_3.ToString();
    }
}

【问题讨论】:

  • 静态变量 shivers 。尝试为此上课。我建议使用 luaans 方法来解决您的问题 :) 这绝对是一种更好的方法,尤其是如果您在开始新表单时破坏了表单。

标签: c# winforms


【解决方案1】:

您根本不需要使用“全局变量”。只需在 Form2 上创建一个方法(或属性),它接受您要使用的参数,然后在调用 ShowDialog 之前调用它,例如:

var form2 = new Form2();
form2.SetData(text1, text2, text3);
form2.ShowDialog();

您甚至可以将这些参数添加到构造函数中,或者创建自己的静态方法来显示表单。有很多方法不涉及回归到老式程序编程:)

【讨论】:

    猜你喜欢
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    相关资源
    最近更新 更多