C# 处理动态创建表单的关闭事件

C# 处理动态创建表单的关闭事件,c#,winforms,C#,Winforms,我有一个程序可以从一个硬件读取数据。我的程序能够以用户指定的速率绘制这些传入值。(使用zedgraph控件)。当用户选择绘制值时,将动态创建一个包含该图的新表单 实际上,用户可以拥有任意数量的图形。我的问题是我需要为那些动态创建的表单(包含图形)关闭时创建一个事件处理程序。我知道对于我的主UI,我可以使用designer工具并单击closed事件来生成处理程序。但是,我不确定如何为动态创建的表单执行此操作 任何建议都将不胜感激 您可以在代码中向事件添加处理程序: someObject.SomeE

我有一个程序可以从一个硬件读取数据。我的程序能够以用户指定的速率绘制这些传入值。(使用zedgraph控件)。当用户选择绘制值时,将动态创建一个包含该图的新表单

实际上,用户可以拥有任意数量的图形。我的问题是我需要为那些动态创建的表单(包含图形)关闭时创建一个事件处理程序。我知道对于我的主UI,我可以使用designer工具并单击closed事件来生成处理程序。但是,我不确定如何为动态创建的表单执行此操作


任何建议都将不胜感激

您可以在代码中向事件添加处理程序:

someObject.SomeEvent += SomeHandler;
SomeHandler
可以是lambda表达式、匿名方法或实际方法名。

请查看表单名称。您可以使用如下代码将其连接起来:

var form = new WhateverForm();
form.FormClosed += (sender, e) => DoStuffs(form);
form.Show();

设计师没有做任何花哨的事。您可以在.Designer.cs文件中看到它在做什么。以下是您自己的做法:

myDynamicForm.FormClosing += new FormClosingEventHandler(your_handler_method);

非常感谢。还有一个问题:如果我需要将某个对象(而不是关闭的表单)传递给事件处理程序,我将如何声明它?不幸的是,您无法定义事件处理程序的方法签名;这由
FormClosingEventHandler
委托定义决定。但是您可以将这样的对象存储为调用类的成员变量,并在事件处理程序中使用它。