C# WinForm:如何修改ComboBox的下拉框的边框颜色,系统默认是黑色,想换个颜色。注意:不是ComboBox的边框色,也不是下拉项的颜色,而是下拉出来的那个框的边框色

解决方案 »

  1.   

    http://www.cnblogs.com/xxcainiao/archive/2008/06/11/1217313.html修改ComboBox的下拉框的边框颜色实例和源码
      

  2.   

    应该去找一下,怎么用代码自己编写出一个combobox。
      

  3.   

     
    自定义的颜色ComboBox
    到codeproject里看看
      

  4.   

    重写combobox比较复杂,他似乎是一个复合控件,下拉区是toolstripDropDown内加入items的集合
    当然中间需要宿主ToolStripControlHost,楼主不妨可以试试完全自己定义一个类似功能的控件,应该
    可以做出像wpf里面那种比较炫的效果。
      

  5.   

    查了很多,都是重绘Item或者重绘ComboBox本身边框的 
    没有绘制下拉边框的
      

  6.   

    重写就是继承  然后重新定义属性或者方法  override
      

  7.   

    因为他的下拉框是一个ToolStripDropDown,你应该重写的是ToolStripDropDown。但是combobox里好像获取不到这个dropdown。
    SO
      

  8.   

    这个和系统样式挂钩,是无法更改的,就好比你想自定义C#里面滚动条的样式一样,只能重写.
    我的建议是你自己用2个控件组合起来,比如一个panel+一个没有任何项的combox,形成一个自定义控件.
    然后处理下相应的事件.
      

  9.   

    楼主,自己做一个吧。你需要的是
    1. 自定义一个文本框,或者纯显示不支持输入的也可以,后面绘制一个下拉三角形图形
    2. 自定义一个items集合,item也可以全部自己定义,这样可以实现很多拓展的功能。比如鼠标滑过放大缩小
       之类的效果。有精力的话,WPF里面的效果也是可以模拟模拟的
    3. 将items集合里的东西绘制在一个控件上。当然开始的时候你可以只模拟弹出下拉列表的效果而用lable放
       几个button试试也可以
    4. 重写toolstripdropdown,将边框的颜色修改,而且这个东西还可以重写成不规则形状哦~~
    5. 在第一步做好的点击下拉按钮事件内,调用自己定义的toolstripdropdown dropDown,使用
       ToolStripControlHost定义host,将2,3两步做好的东西放入host然后加到dropDown里面
       dropdown.show()一下,定义好显示的位置。雏形差不多就OK了。
    6. 在dropdown.closed的事件中,将选中的东西显示到文本区域就可以了。
    大致的思路是如此,当然,其中处理上面可能有些细节的东西会比较繁琐,需要点耐心。
    祝你好运。