« オブジェクト指向のプログラム@Wikipedia | トップページ | [.NET] 読み仮名取得コントロールと、 Excel との違い ~ International Feature Pack 2.0 Beta »

2009年6月22日 (月)

[.NET] WinForm 用の、 フリガナ取得コントロール ~ International Feature Pack 2.0 Beta

International Feature Pack 2.0 Beta に含まれている、 YomiganaTextBox コントロールをとりあえずざっくり使ってみる。 Win7RC に VC#2008EE です。

VC# のツールボックスに YomiganaTextBox を追加して、 Form にそれを貼り付けます…
って、 出だしのところでがっくり。 名前空間が YomiganaWinFromControls になってます。
気を取り直して、 ラベルも貼り付けて、 WPF のときと同様に TextChanged ハンドラを追加。

private void yomiganaTextBox1_TextChanged(object sender, EventArgs e) {
  this.label1.Text = ((YomiganaTextBox)sender).Yomigana;
}

さて、 実行…
ありゃりゃ、 コントロール内部の OnLostFocus イベントハンドラで例外が orz
Win7RC でやってるからですかね~?
しょうがないので、 継承したコントロールを作って、 OnLostFocus() メソッドをオーバライドして、 とりあえず例外を潰すように改造 f(^^;

やれやれ動いた…
あらあら、 ひらがな指定したのに、 カタカナになってる orz
YomiganaKanaKind の設定が、InitializeComponent() に反映されてないみたいなので、 自前のコードで指定 f(^^;

ふぅ、長かった…
20090621_yomigana01
ちゃんと IME で入力したときの読み仮名が出ました。

まぁ最初のβ版なので、 いろいろあります…

※ 要望やフィードバックは MSDN Forum: Visual Studio International Pack へどうぞ。 この記事と同じ内容を、 同フォーラムの 「WinForm で読み仮名を取得できる YomiganaTextBox コントロール (beta版) の仕様・不具合」 に書きました。

 

20090621_yomigana02
最初の画面の状態から BS で末尾の文字を消してみました。 入力した文字を BS や DEL で削除しても、 ふりがなは元のままです。 ふりがなも、 ちゃんと消えて欲しいですね。

20090621_yomigana03
「東京都西新宿」 と入れてしまってから入力忘れに気付いて、 後から途中に 「新宿区」 を挿入。 ところが、 ふりがなは末尾への追加になってしまいました。

20090621_yomigana04
WPF 用のでは問題が出た 「一の宮」 「市ヶ谷」 は、 問題無さそうでした。

20090621_yomigana05
WPF 用のでは変換を確定させる操作 ( Enter やカーソルキー ) をしないと読み仮名が取得できませんでしたが、 これも WinForm 用のでは問題無さそうでした。

20090621_yomigana06
IME オンになっているときしか、 読み仮名として出てきません。 IME オフのときは、 そのまま読み仮名として使ってほしいです。
それと、 音引きが半角になっちゃってます。

20090621_yomigana07
一度に変換する文字列の中に含まれている空白は、 フリガナにも出てきます。 単独でスペースを入力したときはダメ。
その他の記号類は、 IME の変換を通せば、 読み仮名に出てくるようです。

20090621_yomigana08
「ヴ」 や 「ヵ」 の読み仮名も、 ひらがなで出てきます。 素晴らしい!
けど、 このことを知らずに、 Unicode じゃない DB に格納してたりするとハマりますね。


|

« オブジェクト指向のプログラム@Wikipedia | トップページ | [.NET] 読み仮名取得コントロールと、 Excel との違い ~ International Feature Pack 2.0 Beta »

プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/209349/45415638

この記事へのトラックバック一覧です: [.NET] WinForm 用の、 フリガナ取得コントロール ~ International Feature Pack 2.0 Beta:

» International Feature Pack 2.0 Beta [虚蝉の脱・七転八倒Blog]
International Feature Pack 2.0 Beta [続きを読む]

受信: 2009年6月29日 (月) 14時40分

« オブジェクト指向のプログラム@Wikipedia | トップページ | [.NET] 読み仮名取得コントロールと、 Excel との違い ~ International Feature Pack 2.0 Beta »