[.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(^^;
ふぅ、長かった…
ちゃんと IME で入力したときの読み仮名が出ました。
まぁ最初のβ版なので、 いろいろあります…
※ 要望やフィードバックは MSDN Forum: Visual Studio International Pack へどうぞ。 この記事と同じ内容を、 同フォーラムの 「WinForm で読み仮名を取得できる YomiganaTextBox コントロール (beta版) の仕様・不具合」 に書きました。
最初の画面の状態から BS で末尾の文字を消してみました。 入力した文字を BS や DEL で削除しても、 ふりがなは元のままです。 ふりがなも、 ちゃんと消えて欲しいですね。
「東京都西新宿」 と入れてしまってから入力忘れに気付いて、 後から途中に 「新宿区」 を挿入。 ところが、 ふりがなは末尾への追加になってしまいました。
WPF 用のでは問題が出た 「一の宮」 「市ヶ谷」 は、 問題無さそうでした。
WPF 用のでは変換を確定させる操作 ( Enter やカーソルキー ) をしないと読み仮名が取得できませんでしたが、 これも WinForm 用のでは問題無さそうでした。
IME オンになっているときしか、 読み仮名として出てきません。 IME オフのときは、 そのまま読み仮名として使ってほしいです。
それと、 音引きが半角になっちゃってます。
一度に変換する文字列の中に含まれている空白は、 フリガナにも出てきます。 単独でスペースを入力したときはダメ。
その他の記号類は、 IME の変換を通せば、 読み仮名に出てくるようです。
「ヴ」 や 「ヵ」 の読み仮名も、 ひらがなで出てきます。 素晴らしい!
けど、 このことを知らずに、 Unicode じゃない DB に格納してたりするとハマりますね。
| 固定リンク
« オブジェクト指向のプログラム@Wikipedia | トップページ | [.NET] 読み仮名取得コントロールと、 Excel との違い ~ International Feature Pack 2.0 Beta »
「プログラミング」カテゴリの記事
- 【.NET / Win8.1 ストアアプリ】 HttpClient で TLS 1.1 / 1.2 に対応するには(2018.06.17)
- 【VS2017 15.7pv2】 XAML のランタイム ツールに 「ヒートマップ」 が増えた(2018.03.28)
- 【.NET Core】 プロジェクトを作ると 「project.assets.json が見つかりません」 エラー(2018.02.10)
- 【#UWP】 ビットマップの表示色を変える (Win2D.uwp 経由で Direct2D を使う)(2017.08.23)
- 【#UWP】 CompactOverlay モード: Picture in Picture というか、「最前面に表示」するウィンドウを作る(2017.08.16)
この記事へのコメントは終了しました。
コメント