如何從另一個窗體關閉事件調用窗體窗體的方法? 假設第二個關閉,我想在第二個關閉時更新第一個窗體的更改。從另一窗口窗體關閉事件調用方法。 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'方法打開第二個窗體? –