C# 重写ComboBox控件,如何将原下拉列表屏蔽不显示,只显示我自定义的下拉列表?
我重写了OnDropDown方法,在该方法中弹出自定义的下拉列表,但当使用时点击下拉按钮会出现原生下拉表,也即是说会显示两个下拉列表。不论我在OnDropDown方法是否...
我重写了OnDropDown方法,在该方法中弹出自定义的下拉列表,但当使用时点击下拉按钮会出现原生下拉表,也即是说会显示两个下拉列表。
不论我在OnDropDown方法是否调用 base.OnDropDown(e); 原生下拉列表都会显示。
请问高手们,怎样将原来的下拉列表不显示?
原生下拉框不能屏蔽,导致出现两个下拉框重叠 展开
不论我在OnDropDown方法是否调用 base.OnDropDown(e); 原生下拉列表都会显示。
请问高手们,怎样将原来的下拉列表不显示?
原生下拉框不能屏蔽,导致出现两个下拉框重叠 展开
3个回答
展开全部
用override覆盖原来自带的事件。
protected override void OnDropDown(EventArgs e)
{
//base.OnDropDown(e);不调用原来的自带事件
你的代码,替换掉原来的事件,楼主试试哦。
}
补充:
如果原生的不能屏蔽,那么应该考虑下能不能把combobox设成readonly之类的。。。
看你的图片,感觉你把结果放在一个窗体里面了,请问是这样吗?
protected override void OnDropDown(EventArgs e)
{
//base.OnDropDown(e);不调用原来的自带事件
你的代码,替换掉原来的事件,楼主试试哦。
}
补充:
如果原生的不能屏蔽,那么应该考虑下能不能把combobox设成readonly之类的。。。
看你的图片,感觉你把结果放在一个窗体里面了,请问是这样吗?
追问
谢谢您的解答,不调用base.OnDropDown(e);也不能屏敝原生框。
我的解决方法是在WinProc方法中将下拉消息过滤掉。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询