【问题标题】:Data passed between two forms [duplicate]在两种形式之间传递的数据[重复]
【发布时间】:2014-02-09 05:42:10
【问题描述】:

我有一个包含两种形式的项目。我必须将form2 中的textbox1 数据传递给form1 中定义的变量字符串m。我的代码写在下面,但变量字符串m 是常量。

表格2:

public partial class Form2 : Form
{
    Form1 frm1;
    public Form2()
    {
        InitializeComponent();
        frm1 = new Form1();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        frm1.ModifyTextBoxValue = textBox1.Text;
        this.Close();
    }

表格一:

public partial class Form1 : Form
{
    string m = "12";
    public Form1()
    {
        InitializeComponent();
    }

    public string ModifyTextBoxValue
    {
        get { return textBox1.Text; }
        set {  m = value; }
    }
}

【问题讨论】:

  • 那么问题出在哪里?

标签: c# .net winforms


【解决方案1】:

您可以将 Form1 的引用传递给 Form2 - 并在 Form1 中公开您希望在它们之间共享的属性。

【讨论】:

    【解决方案2】:

    为了简单起见,我会尝试这个例子:

    Form2 类

    private string welcomeToStackOverflow;
    
    private void button1_Click(object sender, EventArgs e)
    {
    
         textBox1.Text = welcomeToStackOverflow;
         Form1 frm = new Form1(welcomeToStackOverflow);
    
    }
    

    Form1 类

    private string welcome;
    public Form1(string wel)
    {
        this.welcome = wel;
        InitializeComponent();
    }
    

    【讨论】:

      【解决方案3】:

      修改您的form2 代码并获取form1 的引用(如Yanshof 所说):

      public partial class Form2 : Form
      {
          Form1 frm1;
          public Form2(Form refForm1)
          {
              InitializeComponent();
              //frm1 = new Form1();    //remove this line
              frm1 = refForm1;    //assign reference of "form1" to "frm1"
          }
      
          private void button1_Click(object sender, EventArgs e)
          {
              frm1.ModifyTextBoxValue = textBox1.Text;
              this.Close();
          }
      

      现在您还需要传递引用。当你调用form2时,这样调用:

      Form2 frm2 = new Form2(this);    //here "this" is the reference of "Form1"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-13
        • 2018-04-21
        • 1970-01-01
        相关资源
        最近更新 更多