在TextBox中选择文本,光标位于第一个字符上

时间:2015-12-07 23:18:17

标签: c# winforms textselection cursor-position

我想在TextBox 中选择整个文本,不用跳到最后。

我尝试了不同的设置并进行了以下操作 - 更一般 - 观察:

如果使用鼠标在TextBox中选择文本,则可以从右到左执行此操作。光标位于最左侧的字符上。但似乎没有办法通过代码设置这种反向选择。 如何通过编程方式实现此目标?

主要目标仍然是,点击" SelectAll"按钮文本的开头应该是可见的(通过鼠标反转选择整个文本,可以 。)。

这个迷你程序可以很容易地进行测试。

public class Form1 : Form {
    TextBox txt = new TextBox();
    Button btnSelectAll = new Button();
    Button btnSelectPart = new Button();

    public Form1() {
        this.InitializeComponent();

        this.Size = new Size(300, 300);

        txt.Location = new Point(10, 10);
        txt.Size = new Size(150, 35);
        txt.Text = "This is a quite long text, to long to be shown in this TextBox!";
        this.Controls.Add(txt);

        btnSelectPart.Location = new Point(10, 50);
        btnSelectPart.Size = new Size(50, 35);
        btnSelectPart.Text = "part";
        btnSelectPart.Click += btnSelectPart_Click;
        this.Controls.Add(btnSelectPart);

        btnSelectAll.Location = new Point(60, 50);
        btnSelectAll.Size = new Size(50, 35);
        btnSelectAll.Text = "all";
        btnSelectAll.Click += btnSelectAll_Click;
        this.Controls.Add(btnSelectAll);
    }

    void btnSelectAll_Click(object sender, System.EventArgs e) {
        this.txt.Focus();
        this.txt.SelectAll();
    }

    void btnSelectPart_Click(object sender, System.EventArgs e) {
        this.txt.Focus();
        this.txt.Select(8, 3);
    }
}

发现this,这确实是重复的,但已经6岁了......希望今天有可能......

0 个答案:

没有答案