DataGridViewComboBoxCell Color Based on List

Is it possible to change the background draw color of a DataGridViewComboBoxCell based on a list of colors in the list? I've put the names of about 15 system colors in a DataGridViewComboBoxColumn collection, and I'd like to know if it's possible to color those items in the list based on those names.
diablo089Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

John (Yiannis) ToutountzoglouInstructor Multiengine PilotCommented:
with a little doubt about how possible is that a trick is to add a handler and change your comboboxcolumn display style to nothing like a textbox column ..
use editing control showing event
something like this
Private Sub MyDataGridView_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles MyDataGridView.EditingControlShowing

        Try

            combo = CType(e.Control, ComboBox)

            If (combo IsNot Nothing) Then


                RemoveHandler combo.DropDownClosed, New EventHandler(AddressOf ComboBox_DropDownClosed)
                AddHandler combo.DropDownClosed, New EventHandler(AddressOf ComboBox_DropDownClosed)


                

            End If


        Catch ex As InvalidCastException

        Catch ex As Exception

            MsgBox(ex.ToString)

        End Try

    End Sub

Private Sub ComboBox_DropDownClosed(ByVal sender As Object, ByVal e As EventArgs)

        ¿t¿
        Try

            If  Me.MyDataGridView.CurrentRow.Cells("YourComboboxColumnIndex").IsInEditMode Then
                

                

                Dim col As New DataGridViewComboBoxCell
                col = Me.MYDataGridView.CurrentRow.Cells("YourComboboxColumnIndex" )
                col.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
                col.Style.BackColor = Color.Red
                
                '''''''''''''''''''''''''''''''''''''''''''''''''''''''''

            End If

        Catch ex As ArgumentException

        Catch ex As Exception

            MsgBox(ex.ToString)

        End Try

    End Sub

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
John (Yiannis) ToutountzoglouInstructor Multiengine PilotCommented:
Declare combo:
Private Combo as combobox
0
diablo089Author Commented:
Hmm... This is going to make my combobox column look like a textbox column with no drop down arrow, isn't it?
0
John (Yiannis) ToutountzoglouInstructor Multiengine PilotCommented:
Untill You get in again ...and select something else
I really do not know if there is other way to do it ..
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.