支援輸入法變更事件的InputPanel

2021-05-09 23:27:43 字數 989 閱讀 4548

在windows mobile程式設計中,經常會使用到輸入法,微軟的.net compact framework中提供了inputpanel控制項,該控制項是系統全域性性的,提供了enabledchanged事件,在輸入法彈出和關閉時觸發該事件。

然而,在windows mobile軟體很小的螢幕下,當輸入法彈出後,很多接收輸入的控制項便會被遮擋住,使用者只能在不知道自己輸入是否正確的情況下進行輸入,簡直使使用者成為了盲人,使用者體驗極其之差。

一般情況下,可以通過註冊enabledchanged事件,在其中通過獲取inputpanel的bounds.height的到輸入法控制項遮擋住的範圍,然後將該範圍內所有的接受輸入的控制項移到輸入法沒有遮蓋住的區域。

這樣做確實能夠解決一部分問題,但當使用者進行輸入發切換的時候,問題又出現了,因為每種輸入法面板的大小不不同的,也許上種輸入法沒有將接受輸入的控制項遮擋住,而你剛切換的輸入法便將其遮蓋住了,使用者體驗問題再次出現。

而在.net compact framework中的inputpanel控制項中,並沒有提供輸入法切換能夠觸發的事件,怎麼辦?只好自己寫乙個輸入法控制項了,當然,該控制項是繼承inputpanel的,否則,我還沒那麼強大。

控制項**

using system;

using microsoft.windowsce.forms;

///

/// 支援輸入法切換的輸入面板

///

public class inputpanelex : inputpanel

protected override void wndproc(ref message m)

#endregion

}#endregion

#region methods

///

/// 支援輸入法切換事件的輸入面板

///

public inputpanelex()

#endregion

}

input 禁止輸入法

即可禁止輸入法 js形式 active 代表輸入法為中文 inactive 代表輸入法為英文 auto 代表開啟輸入法 預設 disable 代表關閉輸入法 禁止input 貼上 input id vc class xinput maxlength 4 size 5 onkeydown fnkeyd...

input事件監聽輸入法事件

在input輸入框輸入中文時,需要即時 查詢出匹配 輸入內容的結果,一般我們會使用input事件監聽使用者輸入事件,但是在輸入漢語 拼 音時,也會觸發input事件,前端就會不斷傳送請求,導致無法正常拼寫中文。var flag false ajax input on compositionstart...

如何設定word的預設輸入法 搜狗輸入法

可開word時 預設的是微軟的輸入法 把微軟輸入法刪了 預設的成了英文了 怎麼改成搜狗啊 大家是不是有這個困惑呢 其實這個事情很好解決 只需簡單幾步就可以把word的預設輸入法改成你想要的 我用的是office2010 2007的設定基本一致 我用的輸入法是搜狗拼音 所以這裡就以它為例 首先 要把系...