0

我遇到了 WPF 应用程序中的文本框控件的问题。问题是当用户选择多行文本然后单击选项卡时,选定的行将被删除而不是向右缩进。有没有办法解决这个问题?

感谢任何帮助。谢谢艾哈迈德

4

2 回答 2

1

遗憾的是,您必须实现该功能,因为在 TextBox 中没有为此设置 tab 键。

于 2012-06-13T20:38:34.517 回答
1

您需要在后面的代码中处理它,因为它不是文本框的默认操作。您可以通过多种方式处理它。您将需要覆盖 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;
        }
    }
于 2012-06-14T03:32:04.243 回答