C#Windows窗体-在没有窗体加载事件的情况下从另一个窗体接收值
我有一个Winform(C#),如何在没有form load事件的情况下从另一个窗体接收值。是否有可能传递该值?C#Windows窗体-在没有窗体加载事件的情况下从另一个窗体接收值,c#,.net,winforms,C#,.net,Winforms,我有一个Winform(C#),如何在没有form load事件的情况下从另一个窗体接收值。是否有可能传递该值? 我有一张病人登记表。我有一个搜索按钮链接来获取患者ID。搜索按钮有一个单独的表单。它打开了,我从搜索表单中选择ID。如何在没有表单加载事件的情况下将所选id值发送到患者输入表单。表单可以在不显示的情况下实例化。加载事件为。所以,如果您有函数/getter/public变量,您可以从另一个表单访问它们,前提是您不向患者输入表单添加公共属性 public string ID { get;
我有一张病人登记表。我有一个搜索按钮链接来获取患者ID。搜索按钮有一个单独的表单。它打开了,我从搜索表单中选择ID。如何在没有表单加载事件的情况下将所选id值发送到患者输入表单。表单可以在不显示的情况下实例化。加载事件为。所以,如果您有函数/getter/public变量,您可以从另一个表单访问它们,前提是您不向患者输入表单添加公共属性
public string ID { get; set; }
在第一个窗体的按钮单击事件中,设置此属性的值,然后打开窗体。然后,您可以直接在患者输入表单中访问ID
private void button1_Click(object sender, EventArgs e)
{
PatientEntryForm entryForm = new PatientEntryForm();
entryForm.ID = "selected ID";
entryForm.ShowDialog();
}
有两种方法可以做到这一点 (一) 在调用方表单中保留对其他表单的引用,如:
private void button1_Click(object sender, EventArgs e)
{ var f = new Form2();
f.id = "value you want";
f.Show();
}
(二)
在构造器中创建表单过程时,请创建对当前表单的引用
private void button1_Click(object sender, EventArgs e)
{ var f = new Form2(this);
f.Show();
}
现在您可以在“子窗体”中访问“pather”窗体
3) 调用show()方法时
现在,当前表单是Form2实例的所有者。
您可以在Form2调用中访问
var owner = this.Owner as Form1;
}是否可以在不调用Show的情况下创建表单,这样就可以在代码中使用它的公共方法和属性,而无需调用form load
var owner = this.Owner as Form1;