点击listview出现combobox框

listview中的单元格没有编辑功能,因此经常需要弹出下拉框。

下面一段程序演示的是在listview中的第二列弹出combobox。

1 新建一个项目,窗体默认名为Form1,拖一个listview,脱一个combobox,拖一个imagelist(是为了是listview看起来更加美观)

2 设置listview1的属性,View属性设为Detail,GridLine设为true,FullRowSelect设为true,SmallImageList设为刚拖进来的imagelist1

3 设置imagelist的属性,高度改为20

4 给listview1添加三个列:columnHeader1    columnHeader2    columnHeader3

5 给combobox2和listview1添加几个item

6 添加listview1的MouseUp事件的响应(不能用MouseDwon,具体原因可以自己试一下)

7 添加combobox的SelectedIndexChanged和Leave事件的响应

 

重点在于listview1的MouseUp事件

思路是当鼠标点下是,首先判断是否选中了listview中的某一个item,如果选中,获取选中行的bounds,然后再判断是否落在了想要弹出combobox的列内,如果正好落入,则修改bounds使其与该列的某一单元格大小相同,最后设置combobox框的bounds为刚才的bounds,并将combobox设置为可见,当combobox的Leave事件触发时,设为不可见

下面是整个类的代码

 

 

 下面是效果图:


点击第二列弹出comBobox框

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值