是否可以在组合框中使用只有颜色的集合?

时间:2014-04-26 02:06:13

标签: vb.net collections colors combobox

尝试在visual basic中制作一些东西。这个东西的一个要素就是设置你可以设置按钮,标签等各种颜色的设置。我的想法是,有一个组合框,它下降,只显示颜色,而不是文字;比如在标签上添加背色并取出单词的效果。

编辑:感谢Fernando的帮助,但我已经意识到我的问题是以一种令人困惑的方式形成的,而你的回答并不是我所要求的。

http://www.blackbeltcoder.com/Articles/controls/creating-a-color-picker-with-an-owner-draw-combobox

我试图得到更像这样的东西,但是如果可能的话没有单词(是的,我已经在那里尝试过代码,visual basic不会识别ColorInfo)

1 个答案:

答案 0 :(得分:0)

当然可以。这是一个例子:

Public Class Form1
Private colors As List(Of Color)

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    ColorDialog1.ShowDialog()
    Me.BackColor = ColorDialog1.Color
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    ' add as many colors as you want
    colors = New List(Of Color)
    colors.Add(Color.AliceBlue)
    colors.Add(Color.Beige)
    colors.Add(Color.Black)
    ' and so on

    For Each c In colors
        ComboBox1.Items.Add(c)
    Next

End Sub

Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
    Me.BackColor = ComboBox1.SelectedItem
End Sub

结束班

我还添加了一个colordialog控件的示例。你可以插入它并从中获得你想要的颜色,它是在button_click事件上实现的。我认为这是最好的选择。