.net column

.NET開発者のためのブログメディア
Webの開発ツール

C#のコンボボックスとは?入力不可にする方法を解説!

2020年08月25日

SE
コンボボックスを入力不可能にできますか?

PM
もちろんできます。では、その方法について見ていきましょう。

C#における入力不可なコンボボックスについて

今回は、「C#における入力不可なコンボボックス」について説明します。

C#は、プロパティを未設定の場合であれば、コンボボックスには文字を入力できます。また、deleteキーで削除することもできます。

このような入力をさせないために、コンボボックスを入力不可(readOnly)にする方法について紹介します。C#における入力不可なコンボボックスに興味のある方はぜひご覧ください。

基本的な使い方

ここでは、C#におけるコンボボックスの基本的な使い方についてご紹介しましょう。
まず、フォームにコンボボックスを表示します。

実際のソースコードを見てみましょう。

実行すると、コンボボックスに文字を入力したり、deleteキーで削除できることが分かります。
このような入力をさせない方法について、以降で説明します。

DropDownStyleプロパティにDropDownListを設定する

C#のコンボボックスについて「入力不可」にするためには、「DropDownStyleプロパティ」に「DropDownList」を設定します。

ここで用いる「DropDownStyleプロパティ」には、以下の3つが設定可能です。

・DropDown:入力可能なドロップダウンリスト(デフォルト)
・DropDownList:入力不可のドロップダウンリスト
・Simple:入力可能なマルチラインリスト

それぞれのStyleについて、実際のソースコードを見てみましょう。

このように、「DropDownList」のコンボボックスのみが入力不可になっていることが分かります。

Enabledプロパティにfalseを設定する

C#のコンボボックスについて「入力不可」にするためには、「Enabledプロパティ」に「false」を設定する方法があります。

実際のソースコードを見てみましょう。

コンボボックスが無効化されているので「入力不可」になっていて、選択することはできません。

KeyPressEventHandlerでキー入力を無効にする

C#のコンボボックスについて「入力不可」にするためには、「KeyPressEventHandler」で「キー入力を無効」にする方法があります。

実際のソースコードを見てみましょう。

この方法では、「DropDownStyleプロパティ」は設定していませんが、コンボボックスへのキー入力を無効にしているので、入力不可となります。

SE
DropDownListを使えば入力不可にできるのですね。

PM
よく使われる仕様なのでぜひマスターしておきましょう。

C#のコンボボックスを入力不可にする方法を知ろう!

この記事では、「C#のコンボボックスを入力不可」にする方法についてご紹介しましたが、いかがでしたでしょうか。

プロパティの設定や、キー入力のイベントハンドラの設定で、入力不可のコンボボックスを実現できます。ぜひご自身でC#のソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)