So ändern Sie ForeColor des Kombinationsfeld Ausgewählte Element?

Ist es möglich, ändern Sie das Aussehen für ausgewählte (nicht im drop-down!) item???

combobox.ForeColor ändern Sie den text Farbe nur für alle Elemente in der drop-down-Liste.

Edit:
Varianten sind beelow, unsere ist

 public static void CBoxDrawItem(object sender, DrawItemEventArgs args)
    {
        var box = sender as ComboBox;
        if (box == null || args.Index < 0 || args.Index >= box.Items.Count)
            return;

        e.DrawBackground();
        var data = box.Tag as ControlData;
        var color = (args.State & DrawItemState.ComboBoxEdit) == 0 || data == null || !data.IsInDefaultState
            ? e.ForeColor : GetDefaultColor(e.ForeColor);
        using (var brush = new SolidBrush(color))
        {
            args.Graphics.DrawString(box.Items[args.Index].ToString(), args.Font, brush, args.Bounds.X, args.Bounds.Y);
        }
        args.DrawFocusRectangle();
    }
Welche Art von combobox verwenden Sie? Einfaches, DropDown oder DropDownList?
Ich habe DropdownList
Siehe unten meine Antwort—Sie brauchen, um das zu ändern, DropDown-Menü, statt. Es gibt keinen Weg, um eine DropDownList zu malen, in der Sie eine benutzerdefinierte Farbe, so, wie es ist Themen-unter Windows Vista und höher.

InformationsquelleAutor Lonli-Lokli | 2011-03-15

Schreibe einen Kommentar