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