Как отключить comboBox, если выбран другой comboBox (C #) - PullRequest
1 голос
/ 19 октября 2011

Можно ли в любом случае отключить комбинированный список, если в другом комбинированном окне есть какой-либо текст или значение.Я перепробовал несколько вещей и не могу заставить его работать.

Ниже приведен пример

ComboBox

Ответы [ 4 ]

8 голосов
/ 19 октября 2011

Используйте событие SelectedValueChanged в combobox1 для проверки выбранных значений.Отключите или включите combobox2 на основе этого.

private void combobox1_SelectedValueChanged(object sender, Eventargs e)
{
    if (combobox1.SelectedValue == myDisableValue)
        combobox2.Enabled = false;
    else
        combobox2.Enabled = true;
 }
1 голос
/ 19 октября 2011

Вы можете обработать событие SelectedValueChanged обоих полей со списком, и, если у какого-либо из комбо есть требуемое значение, отключите другое

0 голосов
/ 19 октября 2011

Что-то похожее на это, только установите любое свойство, которое вы хотите, или не очищайте, или как угодно.(тестовые комбинации не были привязаны к данным)

    public partial class Form1 : Form
{
    bool fireEvents = true;
    public Form1()
    {
        InitializeComponent();
    }

    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (fireEvents) doCheck(sender, e);
    }

    private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (fireEvents) doCheck(sender, e);
    }

    private void doCheck(object sender, EventArgs e)
    {
        fireEvents = false; // because we don't have a way to cancel event bubbling
        if (sender == comboBox1)
        {
            comboBox2.SelectedIndex = -1;
        }
        else if (sender == comboBox2)
        {
            comboBox1.SelectedIndex = -1;
        }
        fireEvents = true;
    }

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