我需要覆盖基础的CheckedListBox行为。
可以检查并取消选中CheckedListBox,而不附加任何代码。
我需要禁用此行为,以便我可以实现自定义代码。
任何想法?
感谢。
例如:
if(ListenCheckedListBox.GetItemChecked(0)) { ListenCheckedListBox.SetItemChecked(0,false); }
if(!ListenCheckedListBox.GetItemChecked(0)) { ListenCheckedListBox.SetItemChecked(0,true); }
不起作用,因为控件默认行为无论如何都已经这样做了。
希望你现在能理解我的问题。答案 0 :(得分:0)
您可以通过继承内置类并重写相关方法来创建自己的CheckedListBox。
据我了解您的问题,您不希望在用户点击它们时选择这些项目,您希望完全从您的代码中控制选择。
为此,您可以覆盖OnItemCheck方法,并控制正在设置的新值:
public class CheckedListBoxEx : CheckedListBox
{
protected override void OnItemCheck(ItemCheckEventArgs ice)
{
ice.NewValue = ice.CurrentValue;
}
}
这也可以通过简单地处理ItemCheck事件来完成。
答案 1 :(得分:0)