Net Core教程

vb.net(C#) 改变COMBOBOXD的下拉箭头的小技巧

本文主要是介绍vb.net(C#) 改变COMBOBOXD的下拉箭头的小技巧,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

原理:有时候我们嫌combobox自带的下拉箭头不符合整体界面风格,网上有集成改写combobox的方法,太复杂,而且本人试过也不够完美。我的做法是在combobox上面 贴一个LABEL,设置label的大小为下拉箭头区域的大小,正好覆盖掉combobox自己的下拉箭头,为label增加click(Lb_Click)事件,另外禁用了combocox的按键事件,这样你就把combobox的下拉箭头换成了你自己的样子。

 Sub comlab(ByVal c As ComboBox)
        Dim l As New Label
        l.BackColor = Color.FromArgb(225, 225, 225)
        l.Image = My.Resources.下拉‘下拉箭头的资源图片
        l.Tag = c
        c.Parent.Controls.Add(l)
        l.BringToFront()
        l.Cursor = Cursors.Hand
        AddHandler l.Click, AddressOf Lb_Click
        AddHandler c.KeyPress, AddressOf Comp
        l.Width = 18
        l.Height = c.Height - 2
        l.Top = c.Top + 1
        l.Left = c.Right - l.Width - 1
    End Sub
    Sub Lb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim l As Label = sender
        Dim c As ComboBox = l.Tag
        If c.DroppedDown Then
            c.DroppedDown = False
        Else
            c.DroppedDown = True
        End If
    End Sub
    Private Sub Comp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
        e.Handled = True
    End Sub

这篇关于vb.net(C#) 改变COMBOBOXD的下拉箭头的小技巧的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!