我在 C# WinForms 中有一个名为的自定义控件BaseControl
我在那里有一个叫做Selected
.
我想要举办一个活动SelectedChanged
和虚方法OnSelecteChanged
在基本控件中,它们的行为方式应该与我们在Control
许多属性的类,即Click
事件和OnClick
method.
指任何源自我的人BaseControl
可以绑定到事件或可以覆盖OnSelectedChanged
method.
所以,当值Selected
属性更改事件应该被触发,如果该方法被重写,控件应该转到该方法。
我知道如何触发事件,但不知道如何执行方法。
请指导我...
以下是如何实施事件的示例:
public class BaseControl : Control
{
private object _selected;
public object Selected
{
get { return _selected; }
set
{
if (!Equals(_selected, value))
{
_selected = value;
OnSelectedChanged(EventArgs.Empty);
}
}
}
public event EventHandler SelectedChanged;
protected virtual void OnSelectedChanged(EventArgs e)
{
if (SelectedChanged != null)
SelectedChanged(this, e);
}
}
通过此示例,您可以覆盖OnSelectedChanged
在重写的类中,如下所示:
public class MyControl : BaseControl
{
protected override void OnSelectedChanged(EventArgs e)
{
base.OnSelectedChanged(e);
// My own logic.
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)