社区
C#
帖子详情
自定义控combobox怎么加入checkbox【传送门内有100分】
Neil198
2010-03-26 04:26:05
传送门
控件版块真是凄凉啊
...全文
292
25
打赏
收藏
自定义控combobox怎么加入checkbox【传送门内有100分】
传送门 控件版块真是凄凉啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jbo126
2010-04-01
打赏
举报
回复
[Quote=引用 20 楼 neil198 的回复:]
到底是XXXHOST..我现在用combobox 实现了,就是选一个以后下拉列表就消失了。就是你说的那个问题。。怎么才能让他不消失呢。。。。
[/Quote]
刚才在网上搜了一下,找到了,就是ToolStripControlHost
具体用法见这里:
http://msdn.microsoft.com/zh-cn/library/system.windows.forms.toolstripcontrolhost.aspx
这个只能实现下拉框的弹出功能,其他的需要你自己去实现。
一般你可能需要做以下工作:继承一个UserControl。在上面需要绘制ComboBox的外观和选中的数据
继承一个ListBox,设置为自绘制模式(即在绘制项的时候添加CheckBox外观),然后将继承的ListBox加入ToolStripControlHost,然后再和上面那个UserControl关联,具体上面那个连接有详细的用法。
如果你自己纯属学习研究,建议你先弄弄这个;如果你有项目等着急用,19楼的那个“双钻”老师推荐的就很好,你可以拿过来就用!
liuyu520hong
2010-03-27
打赏
举报
回复
网上有,搜一下吧!引入DLL就可以用了.自己写多浪费时间!
xjerp
2010-03-26
打赏
举报
回复
学习学习
benbenhuo
2010-03-26
打赏
举报
回复
- -传送门
圣光照耀着你们~
Neil198
2010-03-26
打赏
举报
回复
[Quote=引用 18 楼 jbo126 的回复:]
引用 12 楼 cjcgy 的回复:
嘿嘿, 有个很无耻的办法!!
首先, ComboBox自己写。
也很好写的。
点击右面的Button, 就Show一个Form出来。
如果不想丢焦点, 就把Form的TopMost设置为true, 然后把焦点切回到原来的Form就可以了。
但是后面处理麻烦些。
不过丢了焦点一般也无所谓。
然后那个Form上, 放一个DataGridView……
[/Quote]
到底是XXXHOST..我现在用combobox 实现了,就是选一个以后下拉列表就消失了。就是你说的那个问题。。怎么才能让他不消失呢。。。。
wuyq11
2010-03-26
打赏
举报
回复
http://www.codeproject.com/KB/combobox/extending_combobox.aspx
jbo126
2010-03-26
打赏
举报
回复
[Quote=引用 12 楼 cjcgy 的回复:]
嘿嘿, 有个很无耻的办法!!
首先, ComboBox自己写。
也很好写的。
点击右面的Button, 就Show一个Form出来。
如果不想丢焦点, 就把Form的TopMost设置为true, 然后把焦点切回到原来的Form就可以了。
但是后面处理麻烦些。
不过丢了焦点一般也无所谓。
然后那个Form上, 放一个DataGridView。
绑定到你指定的数据源上。
我……
[/Quote]
唉~~~~~~~~~~~,的确不是一般的“无耻”啊!!!
下拉框本就是一个单选控件,你加复选框又是为的啥呢?你如果不想支持多选,而仅仅是想得到一个视觉效果的话我倒是可以给你个建议:
如果是我的话我可能将DrowMode设置为自定义绘制模式(MD,我忘了该属性的值怎么写了,反正除了Normal之外的另外两个都行,唯一的区别是有一个要重写OnMeasureItem)!
在OnDrawItem方法内进行自定义绘制,这时你可以在左侧留一个区域,用CheckBoxRenderer根据实际情况进行绘制复选框的外观,比如根据选择状态什么的。
如果你还想在功能上支持多选,这个我比较头痛,还外观上也可以实现,但不能用ComboBox,我记得什么地方有个DropControlHost还是别的什么(我这人啥都行,就是记性不好!)可以实现,因为它在你点击等操作后不会自己消失,需要你手动关闭!
这时候你继承一个UserControl,大小和普通的ComboBox差不多就行,在上面用ComboBoxRenderer会制ComboBox的外观,然后与那个###Host关联,。。。。算了,你看MSDN吧,那上面比我说的好!!!
lee_b
2010-03-26
打赏
举报
回复
tan124
2010-03-26
打赏
举报
回复
WPF实现容易
Neil198
2010-03-26
打赏
举报
回复
[Quote=引用 11 楼 guanmingle 的回复:]
http://www.codeproject.com/KB/combobox/checkcombo.aspx
我前段时间也用过这个,很不错,开源的
[/Quote]
谢谢,我去下来看看
Neil198
2010-03-26
打赏
举报
回复
[Quote=引用 1 楼 sandy945 的回复:]
http://www.evget.com/zh-CN/Info/catalog/7716.html
[/Quote]
谢谢~!
Neil198
2010-03-26
打赏
举报
回复
[Quote=引用 2 楼 lee_b 的回复:]
lz,发个现成的给你啊
[/Quote]
我有一个现成的。但是那个太复杂了。看不懂。。。现在只是想求个方法。不仅是这两个控件。是一般控件重写的方法。。
cjcgy
2010-03-26
打赏
举报
回复
嘿嘿, 有个很无耻的办法!!
首先, ComboBox自己写。
也很好写的。
点击右面的Button, 就Show一个Form出来。
如果不想丢焦点, 就把Form的TopMost设置为true, 然后把焦点切回到原来的Form就可以了。
但是后面处理麻烦些。
不过丢了焦点一般也无所谓。
然后那个Form上, 放一个DataGridView。
绑定到你指定的数据源上。
我相信, 在DataGridView上做checkbox, 对大家来说都是小菜一碟。
GrapeCity的GcComboBox就是用类似的方法做的。
guanmingle
2010-03-26
打赏
举报
回复
http://www.codeproject.com/KB/combobox/checkcombo.aspx
我前段时间也用过这个,很不错,开源的
amandag
2010-03-26
打赏
举报
回复
用WPF实现比较容易
lee_b
2010-03-26
打赏
举报
回复
顶,人来了MM我,现成的,,搞点分,好像有两百喔。。。
。给你发邮箱。
lee_b
2010-03-26
打赏
举报
回复
顶,人来了MM我,现成的,,搞点分,好像有两百喔。。。
。给你发邮箱。
lee_b
2010-03-26
打赏
举报
回复
顶,人来了MM我,现成的,,搞点分,好像有两百喔。。。
。给你发邮箱。
hejialin666
2010-03-26
打赏
举报
回复
两个贴都看了
推荐你看我当初的问题:
http://topic.csdn.net/u/20100119/10/64803775-3a2c-4eb3-bbb5-f7cc47c1102c.html
lee_b
2010-03-26
打赏
举报
回复
人呢。
加载更多回复(4)
Flex区常见问题(FAQ)大汇总
传送门
AS3 FAQ http://bbs.actionscript3.cn/thread-663-1-1.html Adobe Flex Builder 3 官网下载 http://www.adobe.com/cfusion/entitlement/index
(对对碰)软工结对作业
传送门
2、计划(梦想)中的PSP时间
分
配和实际(现实)的PSP时间
分
配 PSP2.1 Personal Software Process Stages 预估耗时(
分
钟) 实际耗时(
分
钟) Planning 计划 60 80 · Estimate · 估计这个任务需要...
VB基础
已经有一个
控
件为 "Command1" 。创建一个
控
件数组吗 ? 的信息,若单击 " 是 " 按钮,则系统创建了名称为 Command1 的
控
件数组。若要对该
控
件的 Click 事件过程编程,系统显示的框架是: Private Sub Command1_...
【沧海拾昧】C# .Net 基本
控
件介绍
了解更多详细信息建议移步微软官方MSDN网站:【MSDN
传送门
】 目录 索引:MDSN
分
类
传送门
一、Control(
控
件的基类) 二、BackgroundWorker(异步多线程处理) 三、BindingSource(简化绑定的数据源) 四、Button...
《C#程序设计教程(第3版)[精品]》-笔记
2016-06-28 WPF应用程序和Silverlight应用程序是微软公司推出的基于.NET和DirectX的应用程序编程模型。开发在Windows 7操作系统上运行的....NET框架包括两个主要组件,一个是公共语言运行库(Common Language Runtime
C#
110,571
社区成员
642,568
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章