Change color of Combobox item when item is already in a list

时间:2018-02-26 17:35:06

标签: c# visual-studio visual-studio-2015 sql-server-2012

I have a list of combobox items generated from a database

        private void Outlet1_DropDown(object sender, EventArgs e)
    {
        SqlDataReader dr7;
        SqlConnection Conadd1 = new SqlConnection("Data Source=PC-PC\\MIKO;Initial Catalog=Caproj;Integrated Security=True;");
        Conadd1.Open();
        SqlCommand cmd6 = new SqlCommand("select Address from [Outlet Table] where ClientID='" + clientid + "'", Conadd1);
        cmd6.Connection = Conadd1;
        dr7 = cmd6.ExecuteReader();
        DataTable dt8 = new DataTable();
        dt8.Columns.Add("Address", typeof(string));
        dt8.Load(dr7);
        Outlet1.DisplayMember = "Address";
        Outlet1.DataSource = dt8;

        Conadd1.Close();
        colorcombo();
    }

A user can select a certain item in the said combobox and it will be inserted in a listbox. Once the listbox contains the said address, I want the item color to be made red, so it will remind the user that it's already selected

my attempt to code, I have no idea on how to use the drawmode event:

  private void colorcombo()
    {
        if (outletlist.Items.Contains(Outlet1.Items.ToString()))
        {
            Con.Open();
            for (int i = Outlet.Items.Count - 1; i >= 0; --i)
            {
                using (var cmd = new SqlCommand("UPDATE [Outlet Table] SET [Address] = Address WHERE [Address] = @address", Con))
               {
                   cmd.Parameters.AddWithValue("@address", (Outlet.Items[i].Text));
                    if (cmd.ExecuteNonQuery() > 0)
                    {
                        //Outlet.Items[i].BackColor = Color.Red;
                    }
                    else
                    {
                        //Outlet.Items[i].BackColor = Color.Black;
                    }
                }
            }
        }
    }

Some details:

Outlet1 = name of my combobox

outletlist = name of my listbox

0 个答案:

没有答案