C#如何选定文本框中的字符串

2024-11-26 18:44:05
推荐回答(3个)
回答1:

TextBox

以编程方式选择文本
将 SelectionStart 属性设置为要选择的文本的开始位置。

SelectionStart 属性是一个数字,它指示在文本字符串内的插入点,值为 0 表示最左边的位置。如果将 SelectionStart 属性设置为等于或大于文本框内的字符数,则插入点放在最后一个字符之后。

将 SelectionLength 属性设置为要选择的文本的长度。

SelectionLength 属性是一个设置插入点宽度的数值。如果将 SelectionLength 设置为大于 0 的数,则会从当前插入点处开始选择该数目的字符。

(可选)通过 SelectedText 属性访问选定的文本。

下面的代码将在控件的 Enter 事件发生时选择文本框的内容。TextBox1_Enter 事件处理程序必须绑定到控件;有关更多信息,请参见如何:在运行时为 Windows 窗体创建事件处理程序。

Visual Basic 复制代码
Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
TextBox1.SelectionStart = 0
TextBox1.SelectionLength = TextBox1.Text.Length
End Sub

C# 复制代码
private void textBox1_Enter(object sender, System.EventArgs e){
textBox1.SelectionStart = 0;
textBox1.SelectionLength = textBox1.Text.Length;
}

回答2:

public void Select(int start, int length);
// start:
// 文本框中当前选定文本的第一个字符的位置。
//
// length:
// 要选择的字符数。
使用:
textBox1.Select(5, 6);
//5代表第6个字符开始。6代表从第五个开是截取六个字符
因为字符是从0开始算得。

回答3:

1、通过鼠标的MouseUp事件捕捉选定的文本
2、如果选定的文本长度大于零则复制和粘贴按钮可用,否则不可用
3、实例:
假设rt为RichTextBox;a:为复制;b:粘贴
private void rt_MouseUp(object sender, MouseEventArgs e)
{
if (rt.SelectedText.Length > 0)
{
a.Enabled = true;
b.Enabled = true;
}
else
{
a.Enabled = false;
b.Enabled = false;
}

}