如何在另一个关闭时使我的主要 WinForm 更新
本文关键字:我的 WinForm 更新 另一个 | 更新日期: 2023-09-27 18:30:35
有一个重复的帖子,但问题没有得到回答。我的问题是是否在主表单中创建新表单
var editor = new Edit(itemList, itemListBox);
editor.Show();
您编辑的数据类型为:
Dictionary<int, Item>
项目如下:
public class Item
{
public string @Url { get; set; }
public string Name { get; set; }
public double Price { get; set; }
public Item(string @url, string name, double price)
{
this.Url = url;
this.Name = name;
this.Price = price;
}
public override string ToString()
{
return this.Name;
}
}
如何在编辑器关闭时添加处理程序,以便它可以更新主窗口窗体中的列表框。
为 Form.Closed
事件添加事件处理程序
var editor = new Edit(itemList, itemListBox);
editor.Closed += OnEditorClosed(); // your eventhandler here
editor.Show();
或者只是使用 ShowDialog
而不是 Show
创建模式对话框
var editor = new Edit(itemList, itemListBox);
editor.ShowDialog(); // execution will stop here until editor is closed
Form
具有事件处理程序 FormClosing 和 FormClosed。我认为最好使用第一个,因为在第二个表单中,表单的数据可能会被 alrready 处理。所以:
editor.FormClosing += new FormClosingEventHandler(editor_FormClosing);
private void editor_FormClosing(object sender, FormClosingEventArgs e)
{
Edit editor = (Edit)sender;
// update data on main form here
}