![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 YuLi ![]()
![]() |
將程式中斷印出控制項的imeMode屬性也確實有被改掉,但是依然無法輸入中文 請問設定成disable後是不是就不能再改回來了呢?
搜尋相關Tags的文章:
[ imeMode ] ,
本篇文章發表於2016-05-16 11:50 |
1樓 |
剛實測改的回來..
你的問題是?
本篇文章回覆於2016-05-16 14:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
YuLi ![]() |
屬性有被改回來沒錯,但是實際上依然無法輸入中文
本篇文章回覆於2016-05-16 14:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
我測可以..你的輸入法是?
本篇文章回覆於2016-05-17 11:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
YuLi ![]() |
微軟注音、微軟倉頡、嘸蝦米,使用這三種都不行
我的步驟是,先改成disable 接著再改回nocontrol 控制項的屬性都沒調過,完全是預設值 會使用ComboBox的原因,目前程式碰到一個問題 輸入法為:微軟倉頡,Form使用置頂時 去點選ComboBox的下拉選單都會自動縮回去,導致無法選擇Items 後來發現是因為輸入法的浮動框所影響的, 因此希望在點選下拉選單強制關閉輸入法,由於ComboBox是能夠輸入關鍵字做搜尋的所以才又必須設定回NoControl
本篇文章回覆於2016-05-17 15:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓 |
你的問題我實測也是這樣,目前我是建議你換個事件。
mouseEnter跟mouseClick關聯性太強了。 進入後觸發enter,點下去觸發click,但滑鼠還在控制項內。不確定是不是這個原因造成。 我目前用 我沒有實測,用倉頡然後form置頂,下拉選單會縮回去的情形。 combobox事件表 https://msdn.microsoft.com/zh-tw/library/system.windows.forms.combobox_events(v=vs.110).aspx
本篇文章回覆於2016-05-17 16:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
YuLi ![]() |
之前有先測過在ComboBox1.DropDown事件下更改ImeMode,但是反而Disable無效,所以才會使用ComboBox1.MouseEnter事件
我在mouseEnter、mouseClick都有做Print出ImeMode狀態, 當我點下去觸發click時,並沒有再去觸發mouseEnter,這是我測到的 剛剛又測試了一下 在ComboBox1.MouseEnter事件設定成disable 接著在ComboBox1.KeyDown事件設定NoControl 結果:屬性值有改變,但是依然還是無法輸入中文字 整個無解@@
本篇文章回覆於2016-05-17 17:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
7樓 |
我覺得是ComboBox1_MouseEnter的問題
可以多加個旗標 Dim entersign As Integer = 0 Private Sub ComboBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.MouseEnter If entersign = 0 Then ComboBox1.ImeMode = Windows.Forms.ImeMode.Disable End If entersign = 1 End Sub 多加個 Private Sub ComboBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.MouseLeave entersign = 0 End Sub ComboBox1_MouseClick不變
本篇文章回覆於2016-05-17 22:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
8樓 |
抱歉
剛才測試時忘記加入項目。 後來加入項目再測試,也無法輸入中文。
本篇文章回覆於2016-05-17 22:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
9樓 |
根據這篇資料
https://msdn.microsoft.com/zh-tw/library/system.windows.forms.imemode(v=vs.110).aspx 其中提到 使用者可以互動方式變更 Control.ImeMode,除非已將其以程式設計的方式設為 ImeMode.Disable。在這種情況下,使用者將無法使用輸入法。 我覺得你不該使用ComboBox1.ImeMode = Windows.Forms.ImeMode.Disable, 因為使用後,你就再也不能變更輸入法了。 是否考慮Off或Close
本篇文章回覆於2016-05-17 22:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
10樓
作者回應
YuLi ![]() |
設定成off並不能將輸入法的浮動框關閉(例:微軟倉頡)
本篇文章回覆於2016-05-18 08:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
11樓 |
剛花了一些時間大概測一下,
很難肯定是哪邊的問題。 或者直接考慮解決原始問題吧? 你說置頂,然後使用倉頡輸入法,會讓combobox的下拉選單消失? 你的置頂方式是哪一種?我是用me.topMost = true 輸入法也用倉頡沒看到你說的。 https://goo.gl/photos/6FAksfiFztnYLrWB9
本篇文章回覆於2016-05-18 09:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
12樓
作者回應
YuLi ![]() |
置頂時,點選下拉選單而不是在ComboBox上Key字
程式一執行的狀態是 ComboBox已經有先選取的Item, 畫面置頂、輸入法倉頡, 接著去點下拉選單-->這時候選單出現一下就會馬上縮回 ps.window10的倉頡輸入法,在畫面上都會有個浮動方框提示目前是中文狀態或是英文狀態,不是提示字的浮動視窗喔!!
本篇文章回覆於2016-05-18 10:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
13樓 |
win10......這我就真的不知道了。
一直沒想去用。需要請其他前輩回答了,我沒機器測。 或者可以到MSDN論壇詢問。 你的環境是win10使用visual studio 2015 開發 windowsForm 還是 win App?
本篇文章回覆於2016-05-18 13:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
14樓
作者回應
YuLi ![]() |
win10的倉頡提示方框,在網路上搜尋過似乎也有人因此覺得不方便,但是目前還沒有看到解決方法
我的環境是 win10使用visual studio 2008 開發 windowsForm
本篇文章回覆於2016-05-18 13:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
15樓 |
樓主要測一下新酷音的倉頡輸入法嗎?
本篇文章回覆於2016-05-18 15:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |