none
WPF textbox 换行问题 RRS feed

  • 问题

  • 大家好,我想做一个类似QQ发送信息的窗口。本来wpf中按enter就是换行,当我们设置autoreturn=true时,但是我现在想变成 当按 “alt+enter”变成换行?希望大家给我代码,麻烦大家咯。
    2010年6月8日 2:03

答案

  • 您好 derek_zhan,

    您可以参考下面的代码:

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
          if (e.SystemKey == Key.Return || (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Enter))
          {
            //添加一个换行字符
            textBox1.SelectedText = Environment.NewLine;
            //光标向前移动一位
            textBox1.Select(textBox1.SelectionStart + 1, 0);
            e.Handled = true;
          }
        }

    Aland Li


    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
    2010年6月11日 12:09
    版主

全部回复

  • keydown事件

    void txtTalkInput_KeyDown(object sender, KeyEventArgs e)
    {
                   if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Enter)
                    {
                        //发送消息操作
                        e.Handled = true;
                    }
    }

    2010年6月9日 2:00
  • 您好 derek_zhan,

    您可以参考下面的代码:

        private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
          if (e.SystemKey == Key.Return || (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.Enter))
          {
            //添加一个换行字符
            textBox1.SelectedText = Environment.NewLine;
            //光标向前移动一位
            textBox1.Select(textBox1.SelectionStart + 1, 0);
            e.Handled = true;
          }
        }

    Aland Li


    Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.
    2010年6月11日 12:09
    版主