如果我尝试按 CTRL + A (选择文本框中的所有文本),则会出现窗口错误噪音。
如果我尝试按 CTRL + Backspace (删除最后一个单词而不是最后一个字符)它只是插入窗口“Unknown character”的东西(它看起来像一个矩形)。
这只是一个文本框,我没有更改任何属性。
答案 0 :(得分:6)
作为Hans Passant said
Ctrl + A实际上不能在该模式下工作,您必须自己实现它。使用KeyDown事件处理程序并不难。
要实施您想要的内容,您可以使用KeyDown
textbox
事件
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control)
{
if (e.KeyCode == Keys.A)
{
textBox1.SelectAll();
}
if (e.KeyCode == Keys.Back)
{
e.SuppressKeyPress = true;
int selStart = textBox1.SelectionStart;
while (selStart > 0 && textBox1.Text.Substring(selStart - 1, 1) == " ")
{
selStart--;
}
int prevSpacePos = -1;
if (selStart != 0)
{
prevSpacePos = textBox1.Text.LastIndexOf(' ', selStart - 1);
}
textBox1.Select(prevSpacePos + 1, textBox1.SelectionStart - prevSpacePos - 1);
textBox1.SelectedText = "";
}
}
}