如何从另一个窗体关闭事件调用窗体窗体的方法? 假设第二个关闭,我想在第二个关闭时更新第一个窗体的更改。从另一窗口窗体关闭事件调用方法。 c#
-3
A
回答
5
0
传递从你的第一个形式引用到你的第二个。说你创建你的第二个表格这种方式(从你的第一种形式):
Form2 frm2 = new Form2();
frm2.referenceToFirstForm = this
在你的第二个形式,你应该有这样的:
public Form1 referenceToFirstForm
然后在你OnClosing
事件中,你可以参考referenceToFirstForm
1
这假定表单2有一个名为TextBox1的控件,当表单2关闭时,lambda表达式将被调用并将数据传输到表单1.
public partial class Form1 : Form
{
private Form2 openedForm2 = null;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Not sure if you would want more than 1 form2 open at a time.
if (this.openedForm2 == null)
{
this.openedForm2 = new Form2();
//Here is your Event handler which accepts a Lambda Expression, code inside is performed when the form2 is closed.
this.openedForm2.FormClosing += (o, form) =>
{
// this is Executed when form2 closes.
// Gets text from Textbox1 on form2 and assigns its value to textbox1 on form 1
this.textBox1.Text = ((Form2)o).Controls["TextBox1"].Text;
// Set it null so you can open a new form2 if wanted.
this.openedForm2 = null;
};
this.openedForm2.Show();
}
else
{
// Tells user form2 is already open and focus's it for them.
MessageBox.Show("Form 2 is already open");
this.openedForm2.Focus();
}
}
}
相关问题
- 1. 从另一个窗体关闭窗体
- 2. WPF窗口关闭事件用法
- 3. 关闭窗体的事件
- 4. 窗体关闭事件
- 5. 窗口关闭事件
- 6. Extjs窗口关闭事件
- 7. 关闭新窗体关闭另一窗体的消息框
- 8. 从窗体关闭命令窗口
- 9. 窗体关闭事件
- 10. 窗体关闭事件在c#
- 11. 当另一个窗体关闭时关闭窗体
- 12. C# - 如何关闭主窗体和子窗体(只有当主窗体关闭时子窗口才会关闭)
- 13. C#的好方法来关闭窗体
- 14. 如何从另一个VB窗口关闭VB窗口
- 15. 用窗口'X'按钮关闭窗体
- 16. 如何在父窗口关闭时从子窗口访问父窗口方法?
- 17. WindowAdapter发送一个窗口事件(关闭窗口)
- 18. 从静态方法关闭窗体
- 19. 用javascript关闭另一个窗口
- 20. Java用JDialog关闭另一个窗口
- 21. C#窗体窗体应用程序,从子窗体关闭父窗体
- 22. JavaScript从另一个窗口关闭一个窗口覆盖调用窗口名称
- 23. 无关闭窗口的关闭窗口
- 24. 使用onclick事件关闭JavaScript窗口
- 25. 提交窗体关闭窗口
- 26. 关于窗口关闭事件的javascript
- 27. 关闭一个窗体并打开另一个窗体
- 28. 关于窗体关闭事件我puzzeled
- 29. 从窗体调用方法
- 30. 当一个人正在关闭/关闭时从另一个窗体绘制另一个窗体
你试过了吗?你用'Show'或'ShowDialog'方法打开第二个窗体? –