SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(InputMan)

Silverlightアプリケーションのテキストボックスで入力値制限や透かし表示を行う

InputMan for Silverlight 1.0JのGcTextBoxコントロールを使ったWebページの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

GcTextBoxコントロールについて

 GcTextBoxコントロールは、次のようなVisual Studio標準のテキストボックスにはない高度な機能を提供します。

  • 特定の文字種だけ入力を受け付ける文字種限定入力
  • 入力可能な文字種へ自動変換するオートコンバート機能
  • 透かし文字表示
  • 入力候補値の表示
  • 複数行入力時の罫線表示
  • オーバーフロー文字の表示
  • 省略文字表示

文字種の設定

 GcTextBoxコントロールは、文字種を設定することで入力できる文字の種類を制限できます。

 文字種の制限をかけると、指定した文字種以外でデータが入力されると受け付けないか、自動変換が可能であれば指定した文字種に変換されます。たとえば、数値しか受け付けないように設定したとき、文字が入力されてもGcTextBoxコントロールは受け付けません。

 また、全角カナに文字種を設定したGcTextBoxコントロールに、ひらがなを入力すると自動的にカタカナに変換されます。

 設定可能な文字種は表のとおりで、プロパティウィンドウのリストを使って、Formatプロパティに全角または半角の記号で文字種を設定します。

設定可能な文字種
全角 半角 説明
A 大文字のアルファベット(A~Z)
a 小文字のアルファベット(a~z)
K カタカナ(促音・拗音の小書き表記あり)
N カタカナ(促音・拗音の小書き表記なし)
9 数字(0~9)
# 数字および数字関連記号(0~9、+ - $ % \ , .)
@ 記号(! " # $ % & ' ( ) - = ^ ~ \ | @ ` [ { ; + : * ] } , < . > / ? _)
B 2進数(0または1)
X 16進数(0~9、A~F)
- ひらがな(促音・拗音の小書き表記あり)
- ひらがな(促音・拗音の小書き表記なし)
- すべての全角文字
- サロゲート ペア文字
S 空白文字
- H すべての半角文字
- ^ 指定した文字種に含まれないすべての文字
- \ エスケープシーケンス

未入力時に表示する透かし表示テキスト

 コントロールにフォーカスがあるとき、およびコントロールにフォーカスがないときに、コントロールに透かし表示テキストを設定できます。

 使用するプロパティはWatermarkNullおよびWatermarkDisplayNullで、それぞれ表示したい文字列を設定します。

 また、WatermarkNullForegroundプロパティおよびWatermarkDisplayNullForegroundプロパティを使用することにより、それぞれのテキストを表示する際の文字色を指定できます。

入力説明などを透かし文字で表示できる(ヘルプファイルより抜粋)
入力説明などを透かし文字で表示できる(ヘルプファイルより抜粋)

入力候補値の表示

 テキストコントロールで値が未入力のとき、入力候補となる値をあらかじめグレー表示できます。入力候補として表示されたテキストの値は、表示された候補値のまま入力値として適用できます。

 入力候補値を表示するには、ShowRecommendedValueプロパティを使用し、表示される値はRecommendedValueプロパティで設定します。

あらかじめ入力候補を表示できる(ヘルプファイルより抜粋)
あらかじめ入力候補を表示できる(ヘルプファイルより抜粋)

省略文字

 入力された文字列が、GcTextBoxコントロールの幅に収まりきらないときに、すべての文字が表示されていないことを示す省略文字を表示できます。省略文字の表示の有無やその表示位置は、Ellipsisプロパティで設定できます。

 この機能を使えば、長文入力を受け付ける場合でもGcTextBoxコントロールの幅を広くとる必要がありません。

Ellipsisプロパティの値と省略文字の方法(ヘルプファイルより抜粋)
Ellipsisプロパティの値と省略文字の方法(ヘルプファイルより抜粋)

オーバーフローチップの表示

 入力された文字列が、GcTextBoxコントロールの幅に収まりきらないときに、コントロールの上にマウスカーソルが置かれたときにオーバーフローチップを表示できます。

 オーバーフローチップを表示するには、ShowOverflowTipプロパティを「True」に設定します。

 省略文字と組み合わせて使うと効果が大きいです。

省略表示にマウスポインタを重ねると
省略表示にマウスポインタを重ねると
入力値がすべてToolTipで表示される
入力値がすべてToolTipで表示される

次のページ
Webページの作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ComponentZine(InputMan)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6004 2011/06/27 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング