天天看点

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/