@daniil14056

Как убрать выделение элемента в comboBox синим цветом?

Как от этого избавится, и какого черта разрабы так сделали? Если выбрать FlatStyle = System , то выделения нету, но редактировать нельзя, прям 90ыми запахло, а если выбрать более модный Flat, топ убогий цвет выделения, который убрать только граблями можно.
Только без OnPaint, уже решал эту задачу, но должен же быть нормальный человеческий способ? Каждый раз на эту задачу натыкаюсь.
5ece53c006224763997271.png
И что это за событие
  • Вопрос задан
  • 872 просмотра
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
Работа с winforms - это и есть "привет из 90х")
Посему - только аккуратненько так... вприсядочку по каждому чиху:

protected override void WndProc(ref Message m)
    {
        base.WndProc(ref m);
        if (m.Msg == WM_PAINT && DropDownStyle != ComboBoxStyle.Simple)
        {
            using (var g = Graphics.FromHwnd(Handle))
            {
                using (var p = new Pen(BorderColor))
                {
                    g.DrawRectangle(p, 0, 0, Width - 1, Height - 1);

                    var d = FlatStyle == FlatStyle.Popup ? 1 : 0;
                    g.DrawLine(p, Width - buttonWidth - d,
                        0, Width - buttonWidth - d, Height);
                }
            }
        }
    }


ну или как это принято в нынешние времена - попользовать wpf
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы