研讨一个有关输入法选字框丢失的有趣话题
探讨一个有关输入法选字框丢失的有趣话题
先做个试验,建一个winform项目,form1里面有button,点击button的代码如下:
在form2中有一个textbox, 有趣的是,此时运行这个程序,在form2.textbox中输入中文, 微软2007,2010输入法无法显示选字框,而2003可以。
问题肯定是由于多线程造成的,我想到的方式比较土,但管用, 那就是委托方式,不知道高人有什么折
------解决方案--------------------
我这里运行正常,没发现这个问题。Win7,微软拼音2007,Office2007。
------解决方案--------------------
第一种方法,XP+QQ五笔,正常
------解决方案--------------------
我来接分算了。
------解决方案--------------------
路过,接分。哈哈
------解决方案--------------------
XP都退役了要.
------解决方案--------------------
路过,接分。 楼主好人
------解决方案--------------------
准点接分。。
------解决方案--------------------
看看什么情况
------解决方案--------------------
路过接分
------解决方案--------------------
我也来接分
------解决方案--------------------
接分
------解决方案--------------------
路过我顺便也分点吧。
------解决方案--------------------
winform没入门,记得所有UI调用都要用Invoke,很烦。
如果用代码生成的话,这个问题还是好解决的,给每个UI函数生成一个相同原型的代理。
先做个试验,建一个winform项目,form1里面有button,点击button的代码如下:
- C# code
private void button1_Click(object sender, EventArgs e) { Thread p = new Thread(ThreadRun); p.Start(); } private void ThreadRun() { Form2 x = new Form2(); x.ShowDialog(); }
在form2中有一个textbox, 有趣的是,此时运行这个程序,在form2.textbox中输入中文, 微软2007,2010输入法无法显示选字框,而2003可以。
问题肯定是由于多线程造成的,我想到的方式比较土,但管用, 那就是委托方式,不知道高人有什么折
- C# code
private void button1_Click(object sender, EventArgs e) { Thread p = new Thread(ThreadRun); p.Start(); } private event EventHandler ttt; private void ThreadRun() { ttt(this, new EventArgs()); } void Form1_ttt(object sender, EventArgs e) { if (this.InvokeRequired) { EventHandler p = new EventHandler(Form1_ttt); this.Invoke(p); } else { Form2 x = new Form2(); x.ShowDialog(); } }
------解决方案--------------------
我这里运行正常,没发现这个问题。Win7,微软拼音2007,Office2007。
------解决方案--------------------
第一种方法,XP+QQ五笔,正常
------解决方案--------------------
我来接分算了。
------解决方案--------------------
路过,接分。哈哈
------解决方案--------------------
XP都退役了要.
------解决方案--------------------
路过,接分。 楼主好人
------解决方案--------------------
准点接分。。
------解决方案--------------------
看看什么情况
------解决方案--------------------
路过接分
------解决方案--------------------
我也来接分
------解决方案--------------------
接分
------解决方案--------------------
路过我顺便也分点吧。
------解决方案--------------------
winform没入门,记得所有UI调用都要用Invoke,很烦。
如果用代码生成的话,这个问题还是好解决的,给每个UI函数生成一个相同原型的代理。