使 ctrl-a 适用于只读文本框

本文关键字:文本 只读 适用于 ctrl-a | 更新日期: 2023-09-27 18:34:48

我的文本框有问题,我想从只读文本框中选择所有内容。文本框中显示的文本是另一个函数的输出,该函数检查我们的数据库是否没有损坏。输出将显示在文本框中。

因此,我试图做的是从只读文本框中选择所有内容。因此,我们可以保存到数据库检查的输出中。

到目前为止,我已经尝试过:

private void ContentTextBox_TextChanged(object sender, KeyEventArgs e)
{
    if (e.Control)
    {
        MessageBox.Show("Control works");
    }
}

但是现在我必须使"a"键工作,并且必须使组合选择文本框.text

有人可以帮助我吗?

提前致谢

使 ctrl-a 适用于只读文本框

可以将KeyDown()方法添加到 TextBox,该方法识别用户点击Ctrl + A,然后选择所有文本,如下所示:

private void ContentTextBox_KeyDown(object sender, KeyEventArgs e)
{
    if(e.Control && e.KeyCode == Keys.A)
    {
        ContentTextBox.SelectAll();
    }
}

您必须对文本框的 KeyDown 方法进行编码。像这样:

private void ContentTextBox_KeyDown(object sender, KeyEventArgs e)
{
    if(e.Control && e.KeyCode == Keys.A)
    {
        MessageBox.Show("Ctrl + a detected");
    }
}

您可以使用以下代码:

if (e.Control && e.KeyCode == Keys.A)
{
   textBox.Focus();
   textBox.SelectionStart = 1;  //start
   textBox.SelectionLength = 2;  //length
   textBox.ScrollToCaret();
}