日期:2014-05-17  浏览次数:21042 次

如何获得文本框中选定的字符串
如图,当我选定文本框中部分字符串时可以复制或粘贴选定部分的字符串,首先设置文本框只能输入数字(和银行取款时只能输入数字一样的道理),所用代码:  
     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);
------解决方案----