我有从TextBox类继承的自定义控件,并且我添加了一些属性,例如,我具有placeHolderText属性,并且我想拥有一些在更改文本时会发生的事件?
喜欢这些活动
在设计师视图中有我的财产
如何实现?
答案 0 :(得分:0)
要使用C#创建事件,您可以遵循Standard .NET event patterns。
要为自定义控件的Changed
属性创建Something
事件,您可以按照以下步骤操作:
SomethingChanged
。它可以是任何委托,作为一般委托,您可以依靠EventHandler
委托或EventHandler<T>
,如果要使用特定的事件参数而不是使用EventArgs
。OnSomethingChanged
方法,该方法接受事件args并负责引发事件。因此,如果使用此方法,则应该在体内引发事件。OnSomethingChanged
引发事件。示例
public EventHandler PlaceHolderChanged;
string placeholder;
public string PlaceHolder
{
get { return placeholder; }
set
{
if (placeholder != value)
{
placeholder = value;
OnPlaceHolderChanged(EventArgs.Empty);
}
}
}
protected virtual void OnPlaceHolderChanged(EventArgs e)
{
PlaceHolderChanged?.Invoke(this, e);
}