我遇到了 WPF 应用程序中的文本框控件的问题。问题是当用户选择多行文本然后单击选项卡时,选定的行将被删除而不是向右缩进。有没有办法解决这个问题?
感谢任何帮助。谢谢艾哈迈德
遗憾的是,您必须实现该功能,因为在 TextBox 中没有为此设置 tab 键。
您需要在后面的代码中处理它,因为它不是文本框的默认操作。您可以通过多种方式处理它。您将需要覆盖 PreviewKeyDown 并且可以将 e.handled 设置为 true 以使文本不被覆盖。
private void TextBox_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
TextBox tbx = sender as TextBox;
if (e.Key == Key.Tab)
{
tbx.Text = tbx.Text.Insert(tbx.SelectionStart, "\t" + tbx.Text.Substring(tbx.SelectionStart));
e.Handled = true;
}
}