Страница: 1 |
|
Вопрос: вопрос по комбобоксам в datagridview
|
Добавлено: 21.01.10 08:09
|
|
Автор вопроса: Alex3000 | ICQ: 335908695
|
здравствуйте, уважаемые!
Подскажите, пожалуйста, есть ли возможность простыми средствами сделать задний фон у комбобокса для разных значений - разных цветов.
Ну пример - выскакивает список - первое значение - с зеленым фоном, второе с красным, третье с синим.
И второй вопрос - никому, случайно не встречалась реализация двух комбобоксов в одной ячейке.
Понимаю, что для этого контрол свой надо писать, только пока не понимаю, как.
Ответить
|
Номер ответа: 1 Автор ответа: vladigasparo
Вопросов: 9 Ответов: 5
|
Профиль | | #1
|
Добавлено: 21.01.10 23:37
|
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
ComboBox1.Items.Add("Red"
ComboBox1.Items.Add("Orange"
ComboBox1.Items.Add("Yellow"
ComboBox1.Items.Add("Green"
ComboBox1.Items.Add("Blue"
ComboBox1.Items.Add("Indigo"
ComboBox1.Items.Add("Violet"
End Sub
Private Sub Combobox1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ComboBox1.DrawItem
' ----- Draw the color instead of the text.
 im useBrush As Brush
' ----- Check for a nonselected item.
If (e.Index = -1) Then Return
' ----- Set the neutral background.
e.DrawBackground()
' ----- Fill in the color.
useBrush = New SolidBrush(Color.FromName(CStr(ComboBox1.Items(e.Index))))
e.Graphics.FillRectangle(useBrush, _
e.Bounds.Left + 2, e.Bounds.Top + 2, _
e.Bounds.Width - 4, e.Bounds.Height - 4)
useBrush.Dispose()
' ----- Surround the color with a black rectangle.
e.Graphics.DrawRectangle(Pens.Black, _
e.Bounds.Left + 2, e.Bounds.Top + 2, _
e.Bounds.Width - 4, e.Bounds.Height - 4)
' ----- Show the item selected if needed.
e.DrawFocusRectangle()
End Sub
Вроде то, что тебе надо
Ответить
|
Страница: 1 |
Поиск по форуму