【问题标题】:How do I set a the value variable string of a form from another from? [duplicate]如何从另一个表单设置值变量字符串? [复制]
【发布时间】:2015-11-11 06:56:54
【问题描述】:

在我的 form1 中有一个变量

public string parent;

在我的 form2 中,我有设置该变量值的代码

 Form1 bfm = new Form1();

 bfm.ShowDialog(this);
 bfm.parent = "EditItem";

但是当我使用变量 parent 时,它给了我一个空引用异常

这可能是什么问题?谁能帮我? 先感谢您。我只是一个初学者。

【问题讨论】:

  • 您正在使用Form1 的两个不同实例。
  • 已经有这个问题的 50 个版本了...

标签: c# winforms


【解决方案1】:

这可能对你有帮助...

只需在 Form1 类上创建一个 Parent 并在显示 Form1 之前设置它。

public class Form1
{
  ...
 public string Parent{ get; set; }

 private void Form1_Load(object sender, EventArgs e)
 {
   MessageBox.Show(this.Parent);
 }
}

来自 Form2:

public void button1_Click(object sender, EventArgs e)
{
string dName = "EditItem";
Form1 bfm= new Form1();
bfm.Parent= dName;
bfm.Show();
this.Hide();
}

【讨论】:

    【解决方案2】:

    ShowDialog 是模态的。 parent 的分配在对话框关闭之前不会发生。你需要在调用ShowDialog之前完成分配。

    var bfm = new Form1() { parent = "EditItem" };
    bfm.ShowDialog(this);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多