PowerTools InputMan for Windows Forms 8.0J > InputManの使い方 > 住所コントロール > 主な機能と設定方法 |
住所コントロールの基本的な使い方について解説します。
郵便番号コントロールの機能は、「JPAddress for .NET(以下、JPAddress)」を利用して実現されており、検索機能を利用するためにはJPAddress のインストールおよび開発ライセンスが必要です。また、検索機能を使用するためには、JPAddress のGcJPAddress コンポーネントをページに配置する必要があります。
詳細については「JPAddress for .NETとの連携」を参照してください。
住所コントロールの入力フィールドには次の9つのフィールドが設定されており、これらのフィールドオブジェクトを使って書式が設定されています。
住所コントロールでは、これらのフィールドを追加したり削除したりすることはできません。区切りフィールドを非表示にしたい場合には、各フィールドのText プロパティを削除します。 |
AutoFilter プロパティをTrueに設定すると、住所コントロールのすべてのフィールドで候補リストが入力した文字によりフィルタリングされます。なお、オートフィルタ機能を動作させるには、各フィールドのDropDownEnabled プロパティがTrue に設定され候補リストのドロップダウン表示が有効である必要があります。
以下のサンプルコードは、オートフィルタ機能を有効にします。
住所コントロールのオートフィルタ機能は、ひらがなを入力した時点でフィルタリングが開始します。
例えば、「み」と入力すると文字の変換や確定を行う前に、下記のように「み」で始まる「宮城県」「三重県」「宮崎県」が候補リストに表示されます。この状態で上下矢印キーによりリストから選択でき、Enterキーを押下すると県名を入力することができます。
このほか、「みやぎ」と続けて文字を入力し候補リストから選択することも可能です。下図のように候補リストが一つしかない場合、漢字変換を行わなくてもEnterキーの押下により項目を選択できます。
|
住所コントロールでは選択可能な都道府県を設定できます。PrefectureFilter プロパティでどの県を対象として検索を行うかどうかを設定できます。
以下は住所コントロールで関東地方の県のみの検索と入力を行う場合のサンプルコードです。
' 関東地方のみを検索対象として入力を許可します。 GcAddressBox1.PrefectureFilter = "茨城県,栃木県,群馬県,埼玉県,千葉県,東京都,神奈川県"
// 関東地方のみを検索対象として入力を許可します。 gcAddressBox1.PrefectureFilter = "茨城県,栃木県,群馬県,埼玉県,千葉県,東京都,神奈川県";
入力された住所と検索結果は以下のプロパティで取得します。
なお、入力された番地は、番地フィールドのText プロパティから取得します。
次のサンプルコードでは、住所コントロールの値と結果を出力します。
Private Sub GcAddressBox1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcAddressBox1.Leave ' 都道府県の取得 System.Diagnostics.Debug.WriteLine("GcAddressBox1.SelectedPrefecture:{0}", GcAddressBox1.SelectedPrefecture) ' 市区町村の取得 System.Diagnostics.Debug.WriteLine("GcAddressBox1.SelectedCity:{0}", GcAddressBox1.SelectedCity) ' 町域の取得 System.Diagnostics.Debug.WriteLine("GcAddressBox1.SelectedTown:{0}", GcAddressBox1.SelectedTown) ' 丁目の取得 System.Diagnostics.Debug.WriteLine("GcAddressBox1.SelectedArea:{0}", GcAddressBox1.SelectedArea) ' 番地の取得 System.Diagnostics.Debug.WriteLine("GcAddressBox1.Fields.BlockCode.Text:" + GcAddressBox1.Fields.BlockCode.Text) ' 全ての住所の取得 System.Diagnostics.Debug.WriteLine("GcAddressBox1.Value:" + GcAddressBox1.Value) ' 住所から検索した郵便番号の取得 System.Diagnostics.Debug.WriteLine("GcAddressBox1.ZipCode:" + GcAddressBox1.ZipCode) End Sub
private void gcAddressBox1_Leave(object sender, EventArgs e) { // 都道府県の取得 System.Diagnostics.Debug.WriteLine("gcAddressBox1.SelectedPrefecture:{0}", gcAddressBox1.SelectedPrefecture); // 市区町村の取得 System.Diagnostics.Debug.WriteLine("gcAddressBox1.SelectedCity:{0}", gcAddressBox1.SelectedCity); // 町域の取得 System.Diagnostics.Debug.WriteLine("gcAddressBox1.SelectedTown:{0}", gcAddressBox1.SelectedTown); // 丁目の取得 System.Diagnostics.Debug.WriteLine("gcAddressBox1.SelectedArea:{0}", gcAddressBox1.SelectedArea); // 番地の取得 System.Diagnostics.Debug.WriteLine("gcAddressBox1.Fields.BlockCode.Text:" + gcAddressBox1.Fields.BlockCode.Text); // 全ての住所の取得 System.Diagnostics.Debug.WriteLine("gcAddressBox1.Value:" + gcAddressBox1.Value); // 住所から検索した郵便番号の取得 System.Diagnostics.Debug.WriteLine("gcAddressBox1.ZipCode:" + gcAddressBox1.ZipCode); }
【出力結果例】 gcAddressBox1.SelectedPrefecture:01,北海道,ホッカイドウ gcAddressBox1.SelectedCity:01101,札幌市中央区,サッポロシチュウオウク gcAddressBox1.SelectedTown:大通西,オオドオリニシ gcAddressBox1.SelectedArea:0600042,1丁目,1チョウメ gcAddressBox1.Fields.BlockCode.Text:2−3 gcAddressBox1.Value:北海道札幌市中央区大通西1丁目2−3 gcAddressBox1.ZipCode:0600042