0

Windows フォーム アプリケーション (c#)。私は2つのコンボボックスを持っています。一方の項目を選択すると、もう一方の項目のテキストを空白にしたい。

これは私が持っているものです:

private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox2.Text = "";
}

private void ComboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox1.Text = "";
}

...しかし、ご覧のとおり、一方を選択すると、両方のコンボボックスのテキストがクリアされます。

これを達成する方法は?

ありがとうございました。

4

1 に答える 1

0

ComboBox.SelectedIndexを -1 に設定してみてください

現在選択されている項目のゼロから始まるインデックス。項目が選択されていない場合は、マイナス 1 (-1) の値が返されます。

またはむしろあなたの仕様に基づいて何か嘘をつく

    private bool changed = false;
    private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (!changed)
        {
            changed = true;
            ComboBox2.Text = "";
            changed = false;
        }
    }

    private void ComboBox2_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (!changed)
        {
            changed = true; 
            ComboBox1.Text = "";
            changed = false;
        }            
    } 
于 2012-09-21T19:42:51.967 に答える