textBox操作方法

时间:2013-10-17 17:35:57

标签: c# .net winforms visual-studio-2012

我正在开发一个程序,允许用户通过扫描仪输入条形码,然后做一些东西,我已经完成了大部分工作,我只是无法弄清楚textBox1允许哪种操作方法当我在textBox中点击“Enter”时,我会做一些事情。我看过大多数动作的描述,但我找不到一个听起来会起作用的动作。

有没有可行的?或者每次按下按键时都要检查?

3 个答案:

答案 0 :(得分:0)

您需要KeyDown / OnKeyDown或KeyUp / OnKeyUp事件,只需过滤右键:

protected override void OnKeyDown(KeyEventArgs e)
{
    base.OnKeyDown(e);

    if (e.KeyCode == Keys.Enter)
    {
        // Do Something
    }
}

或者在您的情况下,因为您的父表单很可能订阅到TextBox事件,那么您将使用设计器添加如下方法:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        // Do Something
    }
}

请记住,您所谓的“行动方法”称为事件。

答案 1 :(得分:0)

尝试使用KeyUp事件:

    private void textBox1_KeyUp(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            DoSomething();
        }
    }

答案 2 :(得分:0)

尝试处理按键事件。 停止处理程序并更好地工作。

 using System;
 using System.Windows.Forms;

public class Form1: Form
{
public Form1()
{
    // Create a TextBox control.
    TextBox tb = new TextBox();
    this.Controls.Add(tb);
    tb.KeyPress += new KeyPressEventHandler(keypressed);
}

private void keypressed(Object o, KeyPressEventArgs e)
{
    // The keypressed method uses the KeyChar property to check  
    // whether the ENTER key is pressed.  

    // If the ENTER key is pressed, the Handled property is set to true,  
    // to indicate the event is handled. 
    if (e.KeyChar != (char)Keys.Enter)
    {
        e.Handled = true;
    }
}

public static void Main()
{
    Application.Run(new Form1());
}

}