トップ回答者
dataGridViewのセルに日本語入力ができなくなるのはなぜでしょうか?

質問
-
Form1からForm2を開いて,さらにForm3を開いたとき,
Form3のdataGridViewへの日本語入力ができなくなるのですが,日本語入力を確実に可能とする方法はないでしょうか?
<Form1で>
Form2 f2 = new Form2();
f2.Show();
<Form2で>
Form3 f3 = new Form3();
f3.frmHome = this;
f3.Show();
<Form3で>
public Form2 frmHome;
Form3にはこれしか書いてはいません。<日本語入力ができないのはなぜ?と考えてみたこと>
1 Form3のdataGridViewのいろいろな設定のうちのどれかがまずいのかなと考えて,上に書いたようにまっさらにしてはみたのですが,状況は変わりませんでした。
2 偶然でしたが,Form3を開く前にForm2をマウスであちこちと動かし,Form1をクリックした後にForm3での日本語入力が可能となりました。
3 それで思ったのでしたが,Form1になにかしらの原因があるのではないかと思いました。
ア Form1を常時,開いていること
イ Form1でCodeProjectのタブコントロールを使っていることまったくお手上げの状態です。ご教授の程よろしくお願いいたします。
- 編集済み zen73 2010年10月20日 8:00
回答
-
今、解決しました。
<失敗例>
F1 ⇒⇒⇒⇒⇒ F2 ⇒⇒⇒⇒⇒ F3 ⇔⇔⇔⇔⇔ F4
F2.Show() F3.Show() F4.ShowDialog()
F2.Close()<成功例>
F1 ⇒⇒⇒⇒⇒ F2 ⇒⇒⇒⇒⇒ F3 ⇔⇔⇔⇔⇔ F4
F2.Show() F3.Show() F4.ShowDialog()
F2閉じたのがまずいようでした。これで「大丈夫」との確信はないのですが、とりあえずはこのままにしておこうと思います。
なかむらさん、」TH01さん、ひらぽんさん、ありがとうございました。
zen73- 回答としてマーク zen73 2010年10月20日 23:47
すべての返信
-
テストしてみましたが、問題は再現しませんでした。
(グリッドは、デザイナで2列追加しただけのもで試しました。)
以前の以下のスレッドのコードの弊害かと心配しましたが、コードはないとのことですので違いますね。
DataGridViewの新規行は表示するがそこへの入力は許可しないようにする方法はありますか。
http://social.msdn.microsoft.com/Forums/ja-JP/csharpexpressja/thread/e88b1f66-d21e-4e74-9fdf-45e4e4ef5623その DataGridView の ImeMode プロパティが Disable 等になっていたりしないでしょうか?
別件のフリーズするプロジェクトでも、そのタブコントロールを使用されていましたね。
そのタブコントロールを使用しないテストプロジェクトを新規に作成して動作を確認されてはいかがでしょうか? -
IME の問題かもしれません。DataGrid ではないのですが、参考までに書かせて頂きます。
以前 IME が 「Office IME 2007」 だった頃、VS2008 のテキストエディタで、まれに日本語入力がおかしくなる場合がありました。IME がいきなり無効になったり、もしくは「かな入力」はできるが「漢字変換」は全くできないという現象でした。
VisualStudio を再起動すると治りましたが、感覚的には 1週間~1ヶ月の間に約1~2回発生するようで、IME の問題だろうと放置してました。その後 Office 2010 をインストールした際、IME も Office IME 2010 に変わってしまったためか、それ以降、上記の現象は発生してないようです。いずれにせよ IME がらみの問題なら、以下のように、問題の起きる環境をできる限り詳しく提示した方がいいと思います。
XP/SP3・VisualStudio 2008 SP1・.NET Framework 3.5 SP1・Office IME 2010
ひらぽん http://d.hatena.ne.jp/hilapon/ -
>IME の問題かもしれません。
XP/ProSP3・VisualStudio 2008 ProSP1・.NET Framework 3.5 SP1・Office IME 2007
さきほどは問題なく動作しているとの報告をさせていましたが,これを書く前に試してみたところ,元の状態のもどってしまいました。 それで,私もIMEを疑います。
VisualStudioを起動した段階で,言語バー全体が表示されたり,一部しか表示されなかったりします。
半年前に2007を購入したばかりですので,2010に手を出すことはできません。
調べてみましたら,Wordを使用していても私と同じような減少になることが結構あるみたいです。でも対処法は書かれていません。
zen73 -
今、解決しました。
<失敗例>
F1 ⇒⇒⇒⇒⇒ F2 ⇒⇒⇒⇒⇒ F3 ⇔⇔⇔⇔⇔ F4
F2.Show() F3.Show() F4.ShowDialog()
F2.Close()<成功例>
F1 ⇒⇒⇒⇒⇒ F2 ⇒⇒⇒⇒⇒ F3 ⇔⇔⇔⇔⇔ F4
F2.Show() F3.Show() F4.ShowDialog()
F2閉じたのがまずいようでした。これで「大丈夫」との確信はないのですが、とりあえずはこのままにしておこうと思います。
なかむらさん、」TH01さん、ひらぽんさん、ありがとうございました。
zen73- 回答としてマーク zen73 2010年10月20日 23:47