在.net cf中如何获得输入法改变事件?

Himoso 2007-07-18 08:16:23
在WM中输入法打开和改变时会挡住窗体上的内容,因此需要捕获输入法的改变事件以便调整窗体上控件的位置,.NET Compact Framework自带了InputPanel控件提供对输入法的控制,它的Enable属性代表输入法的开与关,但却没法获得输入法由一种切换到另一种的事件(因为每种输入法的展开面积不同,所以需要根据不同输入法调整窗体上的控件到不同的位置)

请问如何实现这功能,请贴出具体的C#代码, 100分相送,Thanks!
...全文
355 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Love_1981 2007-07-18
  • 打赏
  • 举报
回复
“在WM中输入法打开和改变时会挡住窗体上的内容”,我见过的一种解决方法是,将窗体向上缩小,窗体下方是输入法面板,窗体上的控件就不用再调整了。
王集鹄 2007-07-18
  • 打赏
  • 举报
回复
另一种思路:
遍历窗体句柄,获取窗体类和窗体进程ID判断是否为输入法小窗体的句柄

如:
微软拼音输入的窗体类名是:"TIP_MSPY"
兔子-顾问 2007-07-18
  • 打赏
  • 举报
回复
每种输入法的展开面积不同

你用的ppc,mobile系统?你说面积不同。是不是手写输入法会占用过多的屏幕?
这个不知道。不过你可以尝试换个思路来实现。比如,在OnPaint里判断剪切区域的下边界是否改变了。如果改变了。那遮住的尺寸就变了。
Jinglecat 2007-07-18
  • 打赏
  • 举报
回复
不会,关注

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧