お世話になります。
C#からSHDocVw.InternetExplorerを動かしています。
C#側に設けたテキストボックスの内容をIEのテキストボックスに入力できるような仕組みを作っています。
しかし、C#側のテキストボックスに何か文字を入れると、確かにIE側のテキストボックスに文字が入るのですが、そのときにIEにフォーカスが移ってしまいます。
フォーカスが移らなくするためにはどうすればよいでしょうか
テキストボックスには↓のようなイベントを設定しています。
C#
1public void TextBox1_TextChanged(object sender, EventArgs e) { 2 try { 3 ((mshtml.IHTMLDocument3)ie.Document).getElementById("textboxid").innerText = 4 System.Text.RegularExpressions.Regex.Replace( 5 TextBox1.Text, 6 "(\r\n|\n)", 7 "<br>\r\n"); 8 } 9 catch (Exception ee) { 10 Console.WriteLine("Exception " + ee.Message); 11 } 12 }
このイベントの最後に
this.Activate();などをしてやればフォーカスは戻りますがバックスペースの長押しや、入力速度が速い場合はフォーカスが戻るのが間に合わずIEにフォーカスが移ったままになってしまいます
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/10 12:06 編集
2016/06/11 03:58