网上搜索了好多资料,大多是重绘ComboBox或者使用自定义控件创建一个全新的ComboBox(并非基于window的ComboBox)。

对于菜鸟的我,实现太麻烦,有些代码理解起来困难,但是项目比较急,所以就投机取巧,简单的做了一个比较粗糙的看起来像那么回事。

一、窗体布局如下

二、配置ComboBox的属性:

1.把背景颜色设为和底下控件同色;

2.把FlatStyle设置为Flat,去掉边框;

3.把DropDownStyle属性设置为DropDownLine,禁止输入,且去掉输入区域的底色。

这样ComboBox控件就完全无边框和无底色了,实现了“隐身”。

这里需要注意的是,第三步一定要在第二步之后才能把入区域的底色改为设置的底色。

三、配置Panel属性

1.把Panel拖到ComboBox上方,右边缘和ComboBox对齐,需要把ComboBOx下拉三角形完全覆盖掉;

2.把Panel的背景图片换成自己想要的按钮;

3.绑定Panel的Click事件如下,当点击Panel时,使ComboBox下拉框展开

 private void panelUsers_Click(object sender, EventArgs e)
{
this.comboBoxUsers.DroppedDown = true;
}

现在基本大功告成了。

四、但是每次选者下拉框后,显示区域总是伴随蓝色底色,不好看。原因是焦点在ComboBox上,所以我们把焦点放到其他控件上就可以了

当选择完成后,我们动态把焦点给回Panel

在ComboBox的SelectedIndexChanged事件中添加如下代码即可

private void comboBoxUsers_SelectedIndexChanged(object sender, EventArgs e)
{
panelUsers.Focus();
}

本文属原创,欢迎转载,转载需要标明出处。

最新文章

  1. SharePoint 2013 Designer 自定义操作菜单
  2. 我所了解的WEB开发(2) - PS切片
  3. noip2014普及组 比例简化
  4. Linux网络管理——网关作用
  5. 字典实体类:DictionaryEntry类
  6. 傲梅分区助手专业版 v6.2 中文免费版
  7. 线性代数-矩阵-转置 C和C++的实现
  8. 开发指南专题六:JEECG微云高速开发平台代码生成
  9. [ Java面试题 ]多线程篇
  10. shell编程-输出(六)
  11. Entity Framework 学习总结之十一:POCO
  12. 秒杀系统-web
  13. Hadoop 系列文章(二) Hadoop配置部署启动HDFS及本地模式运行MapReduce
  14. android 平台签名
  15. [jPlayer]一分钟部署jPlayer
  16. 织梦栏目判断 seotitle的小bug
  17. SQLServer 学习笔记之超详细基础SQL语句 Part 2
  18. group by having 和where区别联系
  19. 数据库操作相关(sql语句-php)
  20. Lua脚本

热门文章

  1. 【python】Leetcode每日一题-位1的个数
  2. 【opencv】Java+eclipse+opencv 环境搭建 helloword入门demo
  3. SQL必学必会笔记 —— 基础篇
  4. 关于Java处理串口二进制数据的问题 byte的范围 一个字节8bits
  5. WPF使用自定义Main函数
  6. C#常见的文件路径Api
  7. (转)elasticsearch连接不到head插件解决方案
  8. .Net Core——用代码写代码?
  9. Sentinel导航
  10. windows下安装python 且 安装pip