PowerTools InputMan for Windows Forms 8.0J
4.0Jから5.0Jへの変更点

InputMan for Windows Forms 5.0Jで追加された機能および、InputMan for .NET 4.0J Windows Forms Ed.からInputMan for Windows Forms 5.0Jの変更点について解説します。

新機能

フィールド オブジェクト

マスク、日付、数値、タイムスパンの各コントロールでは、入力のフィールドがオブジェクト化されました。フィールド単位でスタイルの設定やイベントハンドリング、各フィールドに応じた機能が提供され、1つのコントロールとして可能な表現力の幅が広がりました。例えば、次のような機能を実現できます。

スタイル

入力フォールド毎にフォントや文字・背景色やマージン等の書式スタイルを設定できるようになり、1つのコントロールで可能な表現力が格段に向上しました。これまでのような単一のスタイルではなく、コントロール内で自由にスタイルをデザインできるようになるため、視覚的にインパクトのある入力フォームを実現できます。なお、旧来の文字列によるキーワードによる書式設定でフィールドを設定することもできるため、新たな学習をすることなく利用が可能です。

イベントハンドリング

フィールド単位でEnterやLeaveといったイベントが用意されているため、例えば、入力中のフィールドだけハイライト表示したり、入力フィールドに応じてヒントなどのメッセージを表示したり、きめ細やかな機能の実装が可能です。

ドロップダウンフィールド

マスクコントロールの列挙型のフィールドは、フィールド単位でドロップダウン機能を利用できます。1つの入力コントロール内に複数の選択肢をもった入力コントロールを実現できます。

マスキング

マスクコントロールのパターンフィールドは、特定のフィールドのみパスワード入力のように入力文字を特定のキャラクタに置き換えて表示することができます。表示だけでなく、マスキングされたフィールド内の値はクリップボードへのコピーも制限されます。

検証機能

コントロールに入力された値をチェックするための検証コンポーネントが新しくなり、その機能や使用方法が格段に向上しました。新しい検証コンポーネントは、必須入力、範囲チェック、値比較をコンポーネントのプロパティ設定で実現できます。エラーの通知も、アイコンやバルーンチップの表示、前景色や背景色の変更といった多彩なアクションをコントロールに組み込んでいるため、コーディングの必要はありません。
また、InputManのコントロール用の検証コンポーネントだけでなく、Visual Studio 標準のコントロールでも利用が可能な汎用の検証コンポーネントも提供します。

検証コンポーネントとチェック機能の種類
コンポーネント チェック機能
日付時刻検証コンポーネント 他のコントロールの値と比較、値と比較、入力範囲、データタイプ
数値検証コンポーネント 他のコントロールの値と比較、値と比較、入力範囲、データタイプ
タイムスパン検証コンポーネント 他のコントロールの値と比較、値と比較、入力範囲、データタイプ
汎用検証コンポーネント 必須入力、データタイプ、入力可能リスト、禁止文字列、サロゲートペア文字、正規表現、カッコの一致、数値範囲、日付範囲、数値型コントロールとの比較、数値との比較、日付型コントロールとの比較、日付値との比較

エラー時のアクション(エラーの通知方法や入力値の処理方法等)

コンボ&リストコントロール

コンボコントロールとリストコントロールが新しいアーキテクチャで再構築され、よりパワフルなコントロールに生まれ変わりました。カラムの数の制限がなくなった他、新しいデータバウンド機能の追加やリストボックス内のスタイルを自在に設定できるなど大幅に機能強化されました。

JIS2004対応

GcTextBoxコントロールのMaxLengthUnit プロパティを使用すれば、JIS2004で追加されたJIS第3、第4水準文字の表示、入力のほか、サロゲートペア文字を1文字として扱うか、4バイトとして扱うかの指定が可能です。また、Format プロパティにはサロゲート文字を制御するキーワードTが用意されており、簡単に入力をフィルタリングすることができます。
また、検証コンポーネントを使えば、サロゲート文字の入力を抑制する機能も簡単に追加できます。

パフォーマンスの改善

コントロールの描画にかかる速度が改善されます。前バージョンと比較し、多くのコントロールで30%以上短縮しています。以下は、4.0Jと5.0Jとの描画速度比較です。

コントロール名
※ カッコ内は4.0Jのコントロール名
描画速度(s) 差(%)
4.0J 5.0J
GcTextBox (Edit) 0.443 0.280 - 36.60
GcMask (Mask) 0.233 0.233 - 52.37
GcCharMask (CharMask) 0.532 0.310 - 41.51
GcDateTime (Date) 0.644 0.624 - 3.13
GcNumber (Number) 0.754 0.399 - 46.98
GcTimeSpan (TimeSpan) 0.744 0.492 - 33.84
GcComboBox (Combo) 0.711 0.492 - 30.65
GcListBox (List) 0.526 0.284 - 45.97
※ 計測に使用したマシンスペック: Intel(R) Pentium(R) D CPU 3.40GHz、Total RAM (MB): 2045、OS Version: Windows XP Professional
※ 初回フォーム表示における計測値は除外しています。

リッチテキストコントロールの追加

リッチテキストコントロールはToolStripとRichTextBoxを組み合わせたコントロールです。リッチテキストの編集によく使われるフォントや色、段落設定など、必要な編集機能が予め用意されており、これらの機能はコントロールのツールバー(ToolStrip)に提供されます。ツールバーに表示するアイコンは自由にカスタマイズできるため、簡易のリッチテキストエディタ作成も容易です。

ショートカットコンポーネントの追加

ショートカットコンポーネントが追加されます。ショートカットコンポーネントは、コントロールの機能を特定のキーに割り付けるショートカットが独立したコンポーネントで、InputManのコントロールに限らず、標準のコントロールやサードパーティ製のコントロールにも機能を拡張できます。
また、特定のショートカット機能だけなく、コントロールのメソッドもキーに割り付けることが可能なため、広範囲で利用可能なコンポーネントです。

住所検索コンポーネントの追加

テキストコントロールやマスクコントロール等の入力コントロールに住所検索用の機能を拡張するコンポーネントです。郵便番号の他、地域コードや電話番号からの住所情報を取得し指定したコントロールへ値を表示します。

サイドボタン

各入力コントロールにボタンを自由に追加できます。
ボタンの種類には、カレンダーや電卓等のドロップダウン機能を提供するドロップダウンボタンや、コントロールの値をインクリメントするスピンボタン、コントロールにカスタム機能を提供するサイドボタンやシンボルボタンを追加することができます。ボタンはコントロールの左右および入力領域の内側・外側へ自由に配置できます。各ボタンのプロパティは、デザイン時に直接選択して変更が可能です。

日付時刻コントロールの入力操作

次の2つのプロパティが追加され、日付時刻コントロールの入力操作が改善されました。少ない操作で入力が完結できるようになります。

入力モード(FieldEditMode プロパティ)

日付の入力方法が3つのモードから選択できます。

  1. LeftSide (左から右に入力が行われます。旧バージョンと同じ入力方式です。)
  2. RightSide (フィールド毎に右から左に入力が行われます。数値コントロールの入力と似ています。)
  3. Unfixed (RightSide同様フィールド毎に右から左に入力が行われます。この時入力桁が不足していても自動で値を補完します。例えば、1日の場合"01"と入力する必要がありません。)

候補値の表示 (ShowRecommendedValue プロパティ)

コントロールの値が空のときに入力候補となる値を設定しコントロールに表示できます。表示された入力候補値は、そのまま、もしくは部分的に変更して入力値を確定できます。

数値コントロールの桁スピン

数値コントロールのスピン機能に、桁(Digit)単位で値を増減するモードを追加しました。SpinMode プロパティで設定できます。

デザイン機能の改善

コントロールにサイドボタンとして追加された個々のボタンは、デザインウィンドウ上からプロパティを設定することができます。

行間のスペース

LineSpace プロパティを使用してテキストコントロールを複数行で表示したとき、行間のスペースを設定できるようになりました。

Vistaスタイル

コントロールの境界線やドロップダウンボタンの描画などWindows Vistaスタイルに対応しました。

新しい描画スタイル

ツールバーに表示されるコントロールと同様の表示を実現する描画スタイルProfessionalを追加しました。

ドロップダウンの表示方向とエフェクト

DropDownオブジェクトでは、ドロップダウンの表示方向を設定できるようになった他、ドロップダウンの開閉時のアニメーション(スクロール、スライド、フェードなど)から設定できるようになりました。

フィールドスタイラー(GcFieldStyler)コンポーネント

フォーム上のコントロールのフィールドスタイルを設定するためのコンポーネントです。
5.0Jでマスクや日付などのコントロールに追加されたフィールドオブジェクトのスタイルは、これまでコントロール1つ1つ個別に設定を行う必要がありました。しかし、このフィールドスタイラーを使えば、複数のコントロールのスタイルを同時に定義できるようになります。
フィールドスタイラーでのスタイル定義は、フィールドを入力フィールドとリテラルフィールド分け、それぞれを別に設定します。


また、フィールドのイベントを利用してコーディングする必要のあったアクティブフィールドのスタイルもフィールドスタイラーで設定できるようになります。


(図)アクティブフィールド

定義したスタイル設定はインポート/エクスポート機能により、他の開発環境にコピーすることも可能です。

フィールド関連イベント

フィールドクラスに提供されていたイベント(EnterやLeaveなど)と同様のイベントが各コントロールのクラスにも追加されました。コントロールから利用できることにより、フィールド毎にイベントプロシージャを実装する必要がなくなるなど、保守性に優れた実装が行えるようになります。また、デザイン画面上からイベントハンドラを追加することも可能になります。

新たにコントロールに追加されたイベント

文字列キーを使ったコレクション操作

次のコレクションでは文字列型のキーを設定できるようになります。インデックスだけでなくキーを使ってコレクション内の要素を指定することができるようになります。
Fields、DisplayFields、SideButtons、ValidateItems、ValidateActions

フィールドにフォーカスを設定

Maskコントロールの次の2つのフィールドには、フォーカスを設定するFocus()メソッドが追加されました。


フィールドのTextプロパティに値を設定

フィールドのTextプロパティに値を設定できるようになりました。

SelectedValueプロパティ

GcComboBoxとGcListBox にSelectedValueプロパティが追加されました。

旧バージョンとの互換性

InputMan for Windows Forms 5.0J では大幅な機能強化と製品構成の変更を行ったために、InputMan for .NET 4.0J Windows Forms Ed. 以前のバージョンとはクラスやメンバなどの互換性は維持されず、上記のように名前空間も変更されました。

参照

 

 


© 2004-2015 GrapeCity inc. All rights reserved.