读书人

怎么获得文本框中选定的字符串

发布时间: 2013-04-21 21:18:07 作者: rapoo

如何获得文本框中选定的字符串
怎么获得文本框中选定的字符串如图,当我选定文本框中部分字符串时可以复制或粘贴选定部分的字符串,首先设置文本框只能输入数字(和银行取款时只能输入数字一样的道理),所用代码:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsNumber(e.KeyChar) && e.KeyChar != 8)
{
e.Handled = true;
}
}
然后就是获取文本框中指定的字符串了:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.C)
{
Clipboard.SetDataObject(this.textBox1.Text, true);
}
if (e.Control && e.KeyCode == Keys.X)
{
Clipboard.SetDataObject(this.textBox1.Text, true);
textBox1.Text = "";
}
if (e.Control && e.KeyCode == Keys.V)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string b = (String)iData.GetData(DataFormats.Text);
textBox1.Text = b;
}
}

}
但这样只能获得这个文本框中所有的字符串,所以怎么能获得文本框中选定的字符串呢?分不多,只能给这么多了 C#?textBox textbox string
[解决办法]
int pos1 = textBox1.SelectionStart;
int length = this.textBox1.Text.length;
string str = this.textBox1.Text.Substring(length - pos1, length);
[解决办法]
richtextbox中有个属性就是selection,更加简单吧~楼上的考虑了从后选取,但是如果是从前选呢


[解决办法]
TextBox不是有SelectedText这个属性么……

补充一下,1楼那个是可以的,不是说你从后面选,Start就在后面的位置了……

引用:
richtextbox中有个属性就是selection,更加简单吧~楼上的考虑了从后选取,但是如果是从前选呢

[解决办法]
this.textBox1.SelectedText
[解决办法]
引用:
this.textBox1.SelectedText

+1

读书人网 >C#

热点推荐