|
.NET TIPS オートコンプリート機能で独自の補完候補を使用するには?[2.0のみ、C#、VB]デジタルアドバンテージ 遠藤 孝信2006/03/17 |
![]() |
|
|
|
「TIPS:テキストボックスでオートコンプリート機能を使用するには?」で解説しているように、.NET Framework 2.0のTextBoxコントロールやComboBoxコントロール(どちらもSystem.Windows.Forms名前空間)には、入力途中の内容を自動的に補完してくれるオートコンプリート機能が備わっている。
入力内容にマッチさせる補完候補としては、URLの履歴やファイルシステムのディレクトリ名やファイル名などがあらかじめ用意されているが、完全に独自の候補リストを使用することも可能だ。本稿ではTextBoxコントロールで独自の補完候補を使用する方法について解説する。
独自の候補リストを使用するための設定
TextBoxコントロールのオートコンプリート機能で独自の候補リストを使用するには、以下の3つの設定が必要となる。
AutoCompleteModeプロパティでオートコンプリート時の動作を決める。
AutoCompleteSourceプロパティを「AutoCompleteSource.CustomSource」に設定する。
AutoCompleteCustomSourceプロパティに補完候補となる文字列をセットする。
で設定する候補リストの実体は、AutoCompleteStringCollectionクラス(System.Windows.Forms名前空間)のオブジェクトである。このクラスは文字列のコレクションであり、AddメソッドやAddRangeメソッドにより、補完候補となる文字列や文字列配列を追加できる。
あるいは、独自にAutoCompleteStringCollectionクラスのインスタンスを作成してAutoCompleteCustomSourceプロパティにセットし、項目の追加や編集を行ってもよい。
残念ながらAutoCompleteCustomSourceプロパティは、DataGridViewコントロールなどでおなじみのデータバインディング機能をサポートしていない。
独自の候補リストを使用したサンプル・プログラム
次に独自の候補リストを使用したオートコンプリート機能のサンプル・プログラムを示す。
このプログラムを実行するには、Visual Studio 2005でWindowsアプリケーションのプロジェクトを新規作成して、フォームにTextBoxコントロールとButtonコントロールを1つずつ配置し、TextBoxコントロールではAutoCompleteModeプロパティを「SuggestAppend」に、AutoCompleteSourceプロパティを「CustomSource」に設定する(上記
と
の設定)。
次に、フォームのLoadイベント・ハンドラとボタンのClickイベント・ハンドラを作成して、以下のリストのようにコードを追加する。
| ||
| 独自の候補リストを使用したオートコンプリート機能のサンプル・プログラム(上:C#、下:VB) |
以下に実行時の画面を示す。
![]() |
| 上記サンプル・プログラムの実行画面の例 |
このサンプル・プログラムでは、まずアプリケーションの起動時にいくつかの文字列を候補リストとして追加している。さらにボタンがクリックされたときには、テキストボックスに入力されている文字列を候補リストに追加する。
サンプル・プログラムでは、すでに候補リスト内に存在する文字列は新たに追加しないようにしているが、リスト内に同一の項目が複数存在していても補完候補としては1つのみが表示されるようだ。
ログイン画面のID入力用テキストボックスなどで、データベースから取得しておいたIDリストを候補リストとしてあらかじめ設定しておけば、ユーザーの使い勝手は向上するだろう(ただしセキュリティ面には配慮が必要となる)。![]()
| 利用可能バージョン:.NET Framework 2.0のみ カテゴリ:Windowsフォーム 処理対象:TextBoxコントロール 使用ライブラリ:TextBoxコントロール(System.Windows.Forms名前空間) 使用ライブラリ:AutoCompleteMode列挙体(System.Windows.Forms名前空間) 使用ライブラリ:AutoCompleteSource列挙体(System.Windows.Forms名前空間) 使用ライブラリ:AutoCompleteStringCollectionクラス(System.Windows.Forms名前空間) 関連TIPS:テキストボックスでオートコンプリート機能を使用するには? |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



