在用vb.net制作記事本程序中,制作粘貼復制按鈕的時候,等用戶選中文字,然后復制粘貼按鈕從灰色變可用,現在就是不知道如何獲取用戶選中文字這一動作,求大神們指點,謝謝了~~~
uj5u.com熱心網友回復:
未使用VB.NET,給你一個在VB6中的操作方法參考(應該沒有太大差別):在TextBox控制元件的MouseMove事件中,檢測滑鼠左鍵是否按下;
如果是“左鍵按下并拖動”,檢查TextBox的SelLength屬性值是否大于0:如果大于0則“復制按鈕”可用;否則禁用。
當然其它方面還有很多細節問題,你考慮到的時候再說吧…………
(感覺HOOK訊息處理好像還簡單點,用不著考慮太多細節)
uj5u.com熱心網友回復:
貌似有點道理,我試試,謝啦
uj5u.com熱心網友回復:
最粗暴的辦法:用一個計時器,500ms判斷一下:
如果textbox.SelectionLength>0 ,復制按鈕Enabled=true;
如果 Clipboard.ContainsText=true,粘貼按鈕Enabled=True。
如果不用這個辦法,粘貼會很麻煩,這個功能必須剪貼板里有內容的時候,并且是文本的時候才能使用,沒有合適的預定義事件觸發,復制倒很容易處理,這倆事件判斷條件畢竟不一樣:
寫個方法,判斷textbox的SelectionLength是否大于0,如果滿足條件就把復制按鈕Enabled設true;然后無腦地在mouseup事件、keyup事件、mouseleave事件,還有你能想到的其它所有可能的事件里呼叫一下這個方法,完全不需要考慮滑鼠拖還是不拖。因為發生鍵盤和滑鼠動作后,只有兩種結果,要么選文本了,要么沒選文本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/57424.html
標籤:VB基礎類
