台灣最大程式設計社群網站
線上人數
1382
 
會員總數:245013
討論主題:188959
歡迎您免費加入會員
討論區列表 >> VB.NET >> TextBox 連續輸入
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
TextBox 連續輸入
價值 : 100 QP  點閱數:406 回應數:17

樓主

HB
初級專家
1673 70
3111 311
發送站內信

目前表單上放置一個TextBox及一個ContextMenuStrip1物件,在TextBox文字框輸入字元時,可以顯示ContextMenuStrip1功能表,語法如下:

請問:如何讓ContextMenuStrip1顯示時,游標Focus能回到TextBox內繼續輸入文字?
謝謝!

搜尋相關Tags的文章: [ TextBox ] , [ ContextMenuStrip1 ] ,
本篇文章發表於2019-06-29 17:07
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
是不知道您要作什麼,解法是Show 後馬上關掉。


本篇文章回覆於2019-06-30 06:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

P陳
檢舉此回應
再查了一下
ContextMenuStrip1 應該是最上層顯示的,需被關掉後才能往下動作。
本篇文章回覆於2019-06-30 06:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

HB
檢舉此回應
感謝P陳的回覆。

1F提供的語法,等於不作任何動作,不符所需。
會有此作法,是希望透過TextBox的輸入,提示所需的資料供使用者點選。

回2F:ContextMenuStrip1 應該是最上層顯示沒錯,所以才會上網請問如何釋放,回歸TextBox!
本篇文章回覆於2019-06-30 10:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

香帥
檢舉此回應
程式碼改成以下試看看

本篇文章回覆於2019-06-30 12:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

HB
檢舉此回應
感謝香帥的回覆,仍然不行,除非滑鼠再次點擊TextBox。
本篇文章回覆於2019-06-30 14:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

香帥
檢舉此回應
可以用以下方法,test ok

本篇文章回覆於2019-06-30 15:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

P陳
檢舉此回應
會有此作法,是希望透過TextBox的輸入,提示所需的資料供使用者點選。
--------------------
那這塈琱ㄦ|這樣用 而是會用Combobox 來處理彈性較大,且您的選項都沒有變

load ()
取得 SelectDT 並放入 Selectview


textchanged()
if textbox1.text<>"" then
selectview.rowfilter( "Fieldvalue like '%" & textbox1.text &"%'")
combobox1.Datasource=selectview
end if




本篇文章回覆於2019-06-30 16:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

HB
檢舉此回應
感謝香帥的再次協助。

6F的程式確實可以在Threading.Thread.Sleep(500)滯留的時間後,讓ContextMenuStrip1消失,但發現無法選取ContextMenuStrip1所列的item。

而且,滯留時間一經設定,將影響後續的操作;設定過長,要等到滯留時間後才會消失,過短,尚未選取,卻已經消失,或時間內無選取,也會消失,造成困擾。
本篇文章回覆於2019-06-30 17:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

香帥
檢舉此回應
6F只是解決您要的功能給您看,實際上ContextMenuStrip1不宜放在textbox1的TextChanged內,有很多方法可以想,則是另外的討論題了!
本篇文章回覆於2019-06-30 20:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

誰是誰
檢舉此回應
自己用無框表單做一個類似 ContextMenuStrip 的東西比較乾脆
本篇文章回覆於2019-07-01 01:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

dsfsdf
檢舉此回應
這是C#的語法,你在改一下,效果應該有符合你要的

本篇文章回覆於2019-07-01 11:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

HB
檢舉此回應
感謝各位專家的熱情協助及說明。

11F的方式似乎可以達成所需。

但還有一個小Bug須排除:就是當contextMenuStrip1顯示時,TextBox輸入第一次時,是讓contextMenuStrip1消失,而沒有出現輸入之字元。
請問:當輸入一字元時,如何讓系統接收到2次重複的輸入?
謝謝!
本篇文章回覆於2019-07-02 07:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

dsfsdf
檢舉此回應
沒有出現字元什麼意思,還是你貼一下目前的,我們再看看
本篇文章回覆於2019-07-02 09:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

HB
檢舉此回應
To dsfsdf:
舉例:在Textbox輸入P後,即會出現contextMenuStrip1表單選項,再輸入L(或任一鍵)後,contextMenuStrip1才會消失,但Textbox不會出現PL(還是原有的P),需再一次輸入L後,Textbox才會出現PL。
本篇文章回覆於2019-07-02 12:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

dsfsdf
檢舉此回應
可惡好像真的會...那這樣如何!! 有google搜尋的感覺
contextMenuStrip的屬性AutoClose要改false

本篇文章回覆於2019-07-02 14:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.