気になった事を自由に書いてます。
      
TextBoxのIMEがオンにならない。
当たり前のように使っているIMEの日本語入力が突然使えなくなったら…
ちょうどIME絡みのプログラムを実装してたから、恐らくIMEを制御する
プログラムが悪いんだと思っていた。が、全然違うところでハマッてました。

[STAThread]って見たことがあるでしょうか?
この属性(アトリビュート)が無いため日本語入力できないようでした。
FormアプリならProgram.csのMainメソッドの頭に付いてるはずです。

あと、メインスレッドから別スレッドを作成してその中でFormを表示
するときはスレッドにSTAをつけないと、日本語入力できないです。


ちょっと調べたのでメモを…
.NET FrameworkはCOMを使用してIMEを操作しています。
一部のCOMはSTA(Single Threaded Apartment)でしか動作しません。
C#では[STAThread]属性を外すと、MTA(multithreaded apartment)で認識
するようです。IMEはSTAでないと動かないため日本語入力できなかったのです。

参考文献
      





Copyright (C) 2011 - 2017 猫の気ままなC#日記