Solved

DataGridViewComboBoxCell Color Based on List

Posted on 2010-08-17
4
574 Views
Last Modified: 2012-05-10
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.
0
Comment
Question by:diablo089
  • 3
4 Comments
 
LVL 18

Accepted Solution

by:
John (Yiannis) Toutountzoglou earned 250 total points
Comment Utility
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
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
Comment Utility
Declare combo:
Private Combo as combobox
0
 

Author Comment

by:diablo089
Comment Utility
Hmm... This is going to make my combobox column look like a textbox column with no drop down arrow, isn't it?
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
Comment Utility
Untill You get in again ...and select something else
I really do not know if there is other way to do it ..
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Suggested Solutions

1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now