查看完整版本: 關於Textbox的textchange事件
頁: [1]

chengpocheng 發表於 2015-2-1 02:34 PM

關於Textbox的textchange事件

大家好
我實作了一個textbox autocomplete的功能
目前運作良好,但有一點美中不足的是
只要使用新注音打字,必須輸入Enter才能觸發textchange事件
無法像英文或數字一樣隨時觸發
想詢問各位該如何修改才能達成用新注音不用選字就能觸發textchange事件
或是跟我說關鍵字我自行去google找資料
麻煩了<div></div>

darkjack 發表於 2015-2-1 08:18 PM

那當然了阿..因為你打的文字雖然看起來是在textbox內
但是他實際上還是在候選區(新注音)阿 也就變成你要輸入 Enter 才能觸發阿
因為你按下了 Enter 輸入阿

chengpocheng 發表於 2015-2-1 09:11 PM

謝謝darkjack的回覆
但因為看到google search可以不用按enter就能跑出搜尋相關字串
所以才想來問問看vb是否有相關的功能

darkjack 發表於 2015-2-2 08:04 PM

本帖最後由 darkjack 於 2015-2-2 08:17 PM 編輯

要做成你想要的那樣 (google 搜尋)
是作的到...但是應該不單只是用textChange 這個內建函式...
而這種資料 外國應該是沒有
因為它們都直接打英文字也就是打單字元模式
除非往大陸 , 日本方面找....
=================
經過我的測試
這個應該很接近你需要的
但是應該不是你想要的
  Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles TextBox1.PreviewKeyDown    Console.WriteLine("x")  End Sub或者參考這個官方連結
https://msdn.microsoft.com/zh-tw/library/system.windows.forms.textbox.autocompletemode%28v=vs.110%29.aspx
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

ck00031 發表於 2015-2-9 11:07 PM

可以用keyup或keypress的事件來做看看,keyup是鍵盤彈起觸發,keypress是鍵盤按下彈起後觸發。<br><br><br><br><br><div></div>

darkjack 發表於 2015-2-10 10:06 PM

ck00031 發表於 2015-2-9 11:07 PM static/image/common/back.gif
可以用keyup或keypress的事件來做看看,keyup是鍵盤彈起觸發,keypress是鍵盤按下彈起後觸發。 ...

如果照你這個作法..不如直接用textboxchange更快速..中文字並不是你想的那樣子..
你還要想使用者的輸入中文字是用哪種輸入法....
如果是用無蝦米輸入法呢?
當然我知道樓主是用新注音...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>
頁: [1]