注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

VB.net

专注于与VB.net学习爱好者一起学习、交流,共同进步!

 
 
 

日志

 
 

【引用】vb.net 自定义下拉框--颜色  

2012-01-28 23:10:47|  分类: VB.net源码类资源 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自liuzhilianguml《vb.net 自定义下拉框--颜色》

Ⅰ概要说明
ComboBox 是最常用的窗体控件之一,在各种开发中,我们有可能需要将各种各样的对象放到ComboBox 上去。【引用】vb.net 自定义下拉框--颜色 - VB.net资源博客 - VB.net资源博客

Ⅱ示例:
为了能够实现自定义,我们首先需要将ComboBox.DrawMode 属性设置为OwnerDrawVariable。在这种模式下,当ComboBox需要重画时,将触发ComboBox.DrawItem和ComboBox.MeasureItem 事件。在MeasureItem 事件内我们可以指定要绘制的项的大小,而在DrawItem 事件我们则可以按照需要来绘制对应的项目。
事实上,当你指定了OwnerDrawVariable后,实现DrawItem 事件也是必须的,否则你有可能得到一个只有框架的ComboBox。

代码

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles                  MyBase.Load
        ComboBox1.DataSource = New Integer() {1, 2, 3, 4, 5}
    End Sub

    Private Sub cboScheKbn_MeasureItem(ByVal sender As Object, ByVal e As System.Windows.Forms.MeasureItemEventArgs) Handles ComboBox1.MeasureItem
        e.ItemHeight = ComboBox1.Height
        e.ItemWidth = ComboBox1.Width
    End Sub

    Private Sub cboScheKbn_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ComboBox1.DrawItem

        '定义颜色
        Dim fillcolor As System.Drawing.Color

        Select Case e.Index
            Case 0
                fillcolor = Color.Red
            Case 1
                fillcolor = Color.Blue
            Case 2
                fillcolor = Color.Cyan
            Case 3
                fillcolor = Color.DarkGray
            Case 4
                fillcolor = Color.Firebrick
        End Select

        '绘制图形
        e.DrawBackground()
        Dim rectangle As Rectangle = New Rectangle(1, e.Bounds.Top, e.Bounds.Width, e.Bounds.Height)
        e.Graphics.FillRectangle(New SolidBrush(fillcolor), rectangle)
    End Sub

End Class

  评论这张
 
阅读(144)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018