SHOEISHA iD

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

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

ComponentZine(InputMan)

名前や郵便番号の入力値に応じて、ふりがなと住所を自動設定する.NETコンポーネント

InputMan for Windows Forms 5.0JのGcTextBox、GcIme、GcAddressコンポーネントを使った住所データ入力フォームの作成

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

ふりがな(半角のカタカナ)自動入力機能の設定

 ふりがな自動入力機能は、GcImeコンポーネントが担当します。このコンポーネントは、InputMan for Windows Forms 5.0Jのコンポーネントはもちろん、標準のコントロールやサードパーティ製のコントロールに対し、自動ふりがな入力機能を提供します。

 例えば、GcTextBoxコンポーネントを配置し、さらにGcImeコンポーネントをフォームに配置すると、GcTextBoxコンポーネントに「ReadingStringOutput」プロパティが追加されます。このプロパティを展開し、「TargetControl」でふりがなを入力したいコントロールを指定すると、指定されたコントロールに半角カタカナのふりがなが自動的に入力されます。

 このプログラムでは、「氏名」を入力するGcTextBoxコンポーネント「GcTextBox2」の「ReadingStringOutput」プロパティに、ふりがなを表示するコンポーネントとして「GcTextBox1」を指定します。

 すると、「GcTextBox2」に漢字で氏名を入力していくと、漢字が確定した時点でふりがなが「GcTextBox1」に入力されていきます。

ReadingStringOutputプロパティでふりがなを入力するコンポーネントを指定する
ReadingStringOutputプロパティでふりがなを入力するコンポーネントを指定する
「GcTextBox2」に漢字で氏名を入力していくと順次ふりがなが「GcTextBox1」に入力されていく
「GcTextBox2」に漢字で氏名を入力していくと順次ふりがなが「GcTextBox1」に入力されていく

 このように、プロパティで入力対象のコンポーネントを指定するだけで、自動的にふりがなを入力してくれます。

 なお、OutputModeプロパティを使用すると、ふりがなの入力方法を設定できます。デフォルトはAppendです。

OutputModeプロパティの設定値
項目 設定内容
Append コントロールの内容の末尾にふりがなを追加します
Replace コントロールの内容を上書きしてふりがなを表示します

GcTextBoxコンポーネントのサイドボタン機能の設定

 GcTextBoxコンポーネントには、入力フィールドにボタンやスピンボタン、ドロップダウンボタンを設定することができます。今回は、「氏名」入力用のGcTextBoxコンポーネントにサイドボタンを1つ設定し、入力内容をクリアする処理を組み込んでみました。

 サイドボタンのイベントハンドラを使うには、フォームエディタ上でサイドボタンをダブルクリックします。Clickイベントハンドラが作成されるので、ここに処理を記述します。

Visual Basic
Imports GrapeCity.Win.Editors
Public Class Form1

Private Sub SideButton1_Click(ByVal sender As System.Object, _
           ByVal e As System.EventArgs) Handles SideButton1.Click
    Me.GcTextBox1.Text = ""
    Me.GcTextBox2.Text = ""
End Sub
C#
private void sideButton1_Click(object sender, EventArgs e)
{
    gcTextBox1.Text = "";
    gcTextBox2.Text = "";
}

郵便番号-住所変換機能の設定

 今度は、郵便番号を入力すると自動的に住所に変換して入力する機能を設定します。これも、プロパティを設定するだけで簡単に実現できます。さらに、プロパティの設定によって、住所にもふりがなを自動的に入力できます。使い方はとっても簡単で、GcAddressコンポーネントをフォームに配置すると、InputMan for Windows Forms 5.0Jの各入力コンポーネントに、「GcAddress1のFindAddressSetting」というプロパティが追加されます。

 このプロパティを展開し、「AddressOutput」プロパティで変換した住所を出力するコンポーネントを指定し、「AddressReadStringOutput」プロパティにそのふりがなを出力するコンポーネントを指定するだけです。

 また、「FindAddressMode」プロパティを使用すると、住所検索を郵便番号、電話番号、全国地方公共団体コード(JIS X 0401)のどれで行うのかを指定できます。

FindAddressModeの設定値
内容
0 ByZipCode 郵便番号をキーとして使用
1 ByPhoneNumber 電話番号をキーとして使用
2 ByCityCode 全国地方公共団体コード(JIS X 0401)をキーとして使用
「GcAddress1のFindAddressSetting」プロパティで出力先を指定する
「GcAddress1のFindAddressSetting」プロパティで出力先を指定する

 なお、「住所」用GcTextBoxコンポーネント(GcTextBox5)には、「クリア」サイドボタンに加え、「転送」サイドボタンを追加しています。

 このボタンでは、名前と住所の入力内容をフォームForm2のラベルで表示する処理を組み込んでいます。

Visual Basic
 Private Sub SideButton2_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles SideButton2.Click
    Form2.Label2.Text = Me.GcTextBox1.Text
    Form2.Label3.Text = Me.GcTextBox2.Text
    Form2.Label5.Text = Me.GcTextBox3.Text
    Form2.Label7.Text = Me.GcTextBox4.Text
    Form2.Label9.Text = Me.GcTextBox5.Text

    Form2.Show()
End Sub

Private Sub SideButton3_Click(ByVal sender As System.Object, _
           ByVal e As System.EventArgs) Handles SideButton3.Click
    Me.GcTextBox3.Text = ""
    Me.GcTextBox4.Text = ""
    Me.GcTextBox5.Text = ""
End Sub
C#
private void sideButton2_Click(object sender, EventArgs e)
{
    Form2 fm2 = new Form2();

    fm2.label2.Text = gcTextBox1.Text;
    fm2.label3.Text = gcTextBox2.Text;
    fm2.label5.Text = gcTextBox3.Text;
    fm2.label7.Text = gcTextBox4.Text;
    fm2.label9.Text = gcTextBox5.Text;

    fm2.Show();
}

private void sideButton3_Click(object sender, EventArgs e)
{
    gcTextBox3.Text = "";
    gcTextBox4.Text = "";
    gcTextBox5.Text = "";

}
フォームForm2の実行画面
フォームForm2の実行画面

次のページ
郵便番号-住所の連続変換処理の作成

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2662 2009/03/17 12:08

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング