[英]C# Override CheckedListBox
我需要重写基本CheckedListBox行为。
可以检查和取消选中没有附加任何代码的CheckedListBox。
我需要禁用此行为,以便我可以实现自定义代码。
有任何想法吗?
谢谢。 。
例如:
如果(ListenCheckedListBox.GetItemChecked(0)){ListenCheckedListBox.SetItemChecked(0,false); }
如果(!ListenCheckedListBox.GetItemChecked(0)){ListenCheckedListBox.SetItemChecked(0,true); }
不起作用,因为控件的默认行为无论如何已经做到了。
希望你现在能理解我的问题。
您可以通过从内置类继承并覆盖相关方法来创建自己的CheckedListBox。
据我了解您的问题,您不希望用户单击它们时选择这些项目,而是希望完全从代码中控制选择。
为此,您可以重写OnItemCheck方法,并控制正在设置的新值:
public class CheckedListBoxEx : CheckedListBox
{
protected override void OnItemCheck(ItemCheckEventArgs ice)
{
ice.NewValue = ice.CurrentValue;
}
}
这也可以通过简单地处理ItemCheck事件来完成。
好吧,我想通了。 我看错了。 我只是处理检查状态,而不是定义它两次。 一次由我控制。
是的,我很傻!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.