c#让一个窗口传给上一个窗口对象
时间: 2023-07-20 20:23:47 浏览: 91
C#实现窗口之间的传值
在C#中,如果想要让一个窗口传给上一个窗口对象,可以使用下面两种方法:
1. 通过在子窗口中定义一个属性来保存父窗口对象,并在子窗口中调用该属性来操作父窗口。
在子窗口中定义一个属性来保存父窗口对象:
```
public partial class ChildForm : Form
{
private MainForm mainForm;
public MainForm MainForm
{
get { return mainForm; }
set { mainForm = value; }
}
}
```
在父窗口中创建子窗口时,将父窗口对象赋值给子窗口的MainForm属性:
```
private void OpenChildForm()
{
ChildForm childForm = new ChildForm();
childForm.MainForm = this;
childForm.Show();
}
```
在子窗口中可以通过MainForm属性来操作父窗口:
```
private void btnUpdate_Click(object sender, EventArgs e)
{
mainForm.UpdateData();
}
```
2. 通过在子窗口中调用父窗口的方法来操作父窗口。
在父窗口中创建子窗口时,将父窗口对象作为参数传递给子窗口构造函数:
```
private void OpenChildForm()
{
ChildForm childForm = new ChildForm(this);
childForm.Show();
}
```
在子窗口中定义一个构造函数来接收父窗口对象,并存储到一个成员变量中:
```
public partial class ChildForm : Form
{
private MainForm mainForm;
public ChildForm(MainForm mainForm)
{
InitializeComponent();
this.mainForm = mainForm;
}
}
```
在子窗口中可以通过调用父窗口的公共方法来操作父窗口:
```
private void btnUpdate_Click(object sender, EventArgs e)
{
mainForm.UpdateData();
}
```
阅读全文