按键或条形码扫描仪之前的事件

时间:2013-09-03 19:56:30

标签: c# winforms events

我该怎么做?例如:

  1. 我有textBox1并输入“SomeInput”然后离开textBox1。 (使用键盘或条形码扫描仪输入)
  2. 当我返回textBox1时,“SomeInput”会以textBox1.SelectAll()突出显示。
  3. 当我按下一个键时,按下按键更改“SomeInput”。 (或使用条形码扫描仪)
  4. 现在,如何在textBox3中插入“SomeInput”(按键前的输入)?

    我尝试了textchanged事件,但它插入了按下的新键。

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
             textBox3.Text = textBox1.Text;
        }
    
    不允许

    Focus事件。

    enter image description here

    另一个问题:扫描条形码时会发生textChanged吗?

3 个答案:

答案 0 :(得分:1)

假设您的焦点一旦结束就select all text in textBox1,那么在textBox1.Enter中编写此代码可能会帮助您实现需求;

private void textBox1_Enter(object sender, EventArgs e)
{
 if (textBox1.SelectedText.Length == textBox1.TextLength)
 {
  textBox3.Text = textBox1.Text;
  textBox1.Text = "";
 }
}

答案 1 :(得分:0)

尝试使用keyPress事件

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
 {
   textBox3.Text = textBox1.Text; 
 }

答案 2 :(得分:0)

KeyPress更改之前触发了Text事件,因此您可以将其用于您的目的:

//KeyPress event handler for your textBox1
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) {
   if (textBox1.SelectionLength == textBox1.TextLength && textBox1.TextLength > 0){
            textBox3.Text = textBox1.Text;
   }
}