我有一个带有一个DevExpress XtraRichEdit
和一个TextBox
控件的 Winform 应用程序。
我需要在输入时将 XtraRichEdit 中的字符复制到 TextBox,直到按下空格键。
例如,我将在 XtraRichEdit 中输入,输入的字符需要复制并同时显示在 TextBox 中。
如何使用 c# 实现这一点。
我有一个带有一个DevExpress XtraRichEdit
和一个TextBox
控件的 Winform 应用程序。
我需要在输入时将 XtraRichEdit 中的字符复制到 TextBox,直到按下空格键。
例如,我将在 XtraRichEdit 中输入,输入的字符需要复制并同时显示在 TextBox 中。
如何使用 c# 实现这一点。
假设您XtraRichEdit
有TextChanged
和Text
:KeyPress
使用DataBindings
:
textBox1.DataBindings.Add("Text", xtraRichEdit1, "Text");
private void xtraRichEdit1_KeyPress(object sender, KeyPressEventArgs e){
if(e.KeyChar == ' ') textBox1.DataBindings.Remove(textBox1.DataBindings["Text"]);
}
使用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;
}
使用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());
}
您可以使用控制TextChanged
事件XtraRichEdit
将文本复制到文本框。
类似的东西-(未测试)
XtraRichEdit1_TextChanged(object sender, EventArgs e)
{
textBox2.Text = XtraRichEdit1.Text;
}