web-dev-qa-db-ja.com

コンボボックスを読み取り専用に設定する方法、またはユーザーがコンボボックスに書き込むことができない場合、指定された項目のみを選択できますか?

特定の項目からユーザーのみが値を選択できるように、コンボプロパティを設定する際に問題に直面していますが、コンボボックスに書き込むことはできません。

C#でこれを行うにはどうすればよいですか?

44
Badr

DropDownStyleDropDownListに変更するだけです。または、完全に読み取り専用にする場合は、Enabled = false、またはその外観が気に入らない場合は、読み取り専用のテキストボックスとコンボボックスの2つのコントロールがあり、コンボを非表示にして、完全に読み取り専用にする必要がある場合はテキストボックスを表示します。

107
Hans Olsson

「DropDownStyle」という設定を「DropDownList」に変更したいと思います。

16
Ryan

Keypressイベントハンドラーで:

e.Handled = true;
12
Naa3er

DropDownStyleをDropDownListにする

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
10
Tijo Tom

解決策は、DropDownStyleプロパティをDropDownListに変更することです。それが役立ちます。

4
scatterbraiin

これを試して:

    private void comboBox1_KeyDown(object sender, KeyEventArgs e)
    {
        // comboBox1 is readonly
        e.SuppressKeyPress = true;
    }
3
Frans