[英]How to override userControl property
IDE:C#.net,WINFORMS,.net 4.0
嗨,您已經創建了一個userControl,並且我想創建一個屬性,如果啟用的用戶控件為false,則將背景圖像更改為imgDisabled.jpg其他imgEnabled.jpg
請告訴我如何覆蓋usercontrol的Enabled屬性並將此功能添加到其中。
private void onPropertyChanged()
{
if (this.Enabled)
this.BackgroundImage = Properties.Resources.imgEnabled;
else
this.BackgroundImage = Properties.Resources.imgDisabled;
}
重寫基本Control
類的虛擬OnEnabledChanged
方法:
protected override void OnEnabledChanged(EventArgs e)
{
base.OnEnabledChanged(e);
if (this.Enabled)
this.BackgroundImage = Properties.Resources.imgEnabled;
else
this.BackgroundImage = Properties.Resources.imgDisabled;
}
請使用這樣的事件提示器
class CustomProperty:屬性{公共事件EventHandler SelectionChanged;
private int _selectionStart;
private int _selectionLength;
protected override void OnMouseDown(MouseEventArgs e)
{
_selectionStart = SelectionStart;
_selectionLength = SelectionLength;
base.OnMouseDown(e);
}
protected override void OnMouseUp(MouseEventArgs e)
{
if (null != SelectionChanged && (_selectionStart != SelectionStart || _selectionLength != SelectionLength))
SelectionChanged(this, EventArgs.Empty);
base.OnMouseUp(e);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.