Улучшить поле со списком в Visual Studio - PullRequest
0 голосов
/ 14 декабря 2011

Я реализовал поле со списком, в котором есть флажок (Windows Form Application).Это прекрасно работает.

Используется: C #, Visual Studio 2010.

Проблема: проблема с моим списком состоит в том, что раскрывающийся список закрывается после каждого выбора.

Вопрос: этоВ любом случае, возможно, чтобы раскрывающийся список оставался фиксированным, пока я не выбрал несколько элементов?

Просто хотел узнать, есть ли способ сделать это.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 15 декабря 2011

Если вы работаете с Winforms:

public class CheckComboBox : ComboBox
{
    Timer _timer = new Timer();

    public CheckComboBox()
    {
        _timer.Interval = 1;
        _timer.Tick += timer_Tick;      
    }
    protected override void OnDropDownClosed(EventArgs e)
    {
        base.OnDropDownClosed(e);
        if (checkbox has been clicked) {
            _timer.Start();
        }
    }

    void timer_Tick(object sender, EventArgs e)
    {
        _timer.Stop();
        DroppedDown = true; // Reopens dropdown.
    }
}
0 голосов
/ 15 декабря 2011

Вы можете запретить закрытие поля со списком, если не позволяете своим флажкам получать фокус при нажатии на них.

Чтобы сделать это, вам нужно извлечь из класса CheckBox и переопределить флаги управления вконструктор:

SetStyle(ControlStyles.Selectable, false);
0 голосов
/ 15 декабря 2011

Я думаю, что расширенный инструментарий Wpf CheckComboBox - это именно то, что вы пытаетесь сделать. Для получения дополнительной информации см. Следующую ссылку.

Вы можете добавить этот элемент управления wpf в свою winform

http://wpftoolkit.codeplex.com/wikipage?title=CheckComboBox&referringTitle=Home

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...