繁体   English   中英

从面板中删除用户控件时捕获事件

[英]Catch event when remove user control from panel

我写了一个用户控件。 我有一个面板,当我点击用户控件中的按钮时,它会被添加到面板中。 我为用户控件创建了一个点击事件。 单击时,用户控件将从面板中删除。 我想要求在删除用户控件时捕获事件,我应该使用哪个事件并将其用于面板或用户控件。 比如我添加了一个标签,添加用户控件时标签会发生变化,删除时标签也会发生变化。 对不起,我的英语不好。

您最有可能发现有帮助的事件是ControlControlRemoved事件。

这在文档中描述,因此:

从 Control.ControlCollection 中删除控件时发生。

在您的示例的情况下,您将为此添加一个事件处理程序到Panel 假设您的面板名为panel1 (请不要命名),这将是这样的:

// In initialisation code somewhere
panel1.ControlRemoved += panel1_ControlRemoved;

private void panel1_ControlRemoved(object sender, ControlEventArgs e)
{
    // Do something
    ...
    // Note: removed control is referenced by e.Control
}

任何时候从Panel删除控件都会引发此Panel

添加控件时还有一个伴随事件,名为ControlAdded

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM