使用c#将字符从DevExpress XtraRichEdit复制到TextBox

本文关键字:XtraRichEdit 复制 TextBox DevExpress 字符 使用 | 更新日期: 2023-09-27 18:26:31

我有一个带有DevExpress XtraRichEditTextBox控件的Winform应用程序。

我需要将XtraRichEdit中的字符复制到TextBox中,同时继续键入,直到按下空格键。

例如,我将在XtraRichEdit中键入,键入的字符需要复制并同时显示在TextBox中。

如何使用c#实现这一点。

使用c#将字符从DevExpress XtraRichEdit复制到TextBox

假设您的XtraRichEditTextChangedTextKeyPress:

  1. 使用DataBindings:

    textBox1.DataBindings.Add("Text", xtraRichEdit1, "Text");
    private void xtraRichEdit1_KeyPress(object sender, KeyPressEventArgs e){
       if(e.KeyChar == ' ') textBox1.DataBindings.Remove(textBox1.DataBindings["Text"]);
    }
    
  2. 使用TextChanged:

    bool spacePressed;
    private void xtraRichEdit1_TextChanged(object sender, EventArgs e){
       if(spacePressed) return;
       textBox1.Text = xtraRichEdit1.Text;
    }
    private void xtraRichEdit1_KeyPress(object sender, KeyPressEventArgs e){
       if(e.KeyChar == ' ') spacePressed = true;
    }
    
  3. 使用KeyPress:

    bool spacePressed;
    private void xtraRichEdit1_KeyPress(object sender, KeyPressEventArgs e){
       if(e.KeyChar == ' ') spacePressed = true;
       if(!char.IsControl(e.KeyChar)&&!spacePressed)
          textBox1.AppendText(e.KeyChar.ToString());
    }
    

您可以使用XtraRichEdit控件的TextChanged事件将文本复制到文本框中。

类似-(未测试)

XtraRichEdit1_TextChanged(object sender, EventArgs e)
{
       textBox2.Text = XtraRichEdit1.Text;
}