天天看點

C#中給TextBox控件增加輕按兩下全選的效果

【問題】

先要提醒的是:

C#的winform程式中,普通的TextBox,如果其中的内容是字母數字下劃線等,非特殊的字元的話,輕按兩下,則可以自動全選内容的。

但是此處我的一個C#的winform:

downloadSonstasteMusic(下載下傳Songtaste歌曲) v1.7 – 下載下傳Songtaste(ST)中正在播放的歌曲/單首歌曲/整張專輯

對于其中一個TextBox中,由于内容特殊,帶問号等特殊字元

http://www.songtaste.com/playmusic.php?song_id=3202778,3222939,3253692,3254276

導緻輕按兩下的時候,隻能選擇部分的内容:

C#中給TextBox控件增加輕按兩下全選的效果

希望是,輕按兩下後,選擇全部的内容:

C#中給TextBox控件增加輕按兩下全選的效果

【解決過程】

1.參考:

TextBox擷取輸入焦點時自動全選的實作方法

看到TextBox有SelectAll的方法。

加上之前就看到,TextBox本身支援DoubleClick事件,是以,就可以去試試了。

2.選擇TextBox後可以看到對應的DoubleClick事件:

C#中給TextBox控件增加輕按兩下全選的效果

輕按兩下後,去實作,如下:

?

1 2 3 4

private

void

txbMultiPlayUrl_DoubleClick(

object

sender, EventArgs e)

{

txbMultiPlayUrl.SelectAll();

}

然後運作看看效果,果然是可以的:

C#中給TextBox控件增加輕按兩下全選的效果

【總結】

輕按兩下TextBox的時候,想要對于内容中即使含特殊字元,原先無法輕按兩下自動全選時,也要實作輕按兩下自動全選的效果的話,則可以在DoubleClick事件中,添加上對應的textBox1.SelectAll(),即可。

如下:

?

1 2 3 4

private

void

txbMultiPlayUrl_DoubleClick(

object

sender, EventArgs e)

{

txbMultiPlayUrl.SelectAll();

}

轉載自:在路上 部落格            http://www.crifan.com/csharp_textbox_select_all_when_double_click/