Problem solve Get help with specific problems with your technologies, process and projects.

In C#, how do I set focus on first field and then, after barcode input, automatically focus this set

In C#, how do I set focus on first field (which is limited to 8 characters read by bar code) and then, after barcode input is done, automatically focus this set to field 2? Thanks your help.
You can't make it quite automatic, but if you can catch the event when barcode data is available, you set the control to have focus in your code using the ActiveControl property of the Form class:

class BarcodeForm : Form {
  void barCode1_DataAvailable(object sender, EventArgs e) {
    // Check that active control is a TextBox
    TextBox textBox = this.ActiveControl as TextBox;
    if( textBox == null ) return;

    // Get data from the barcode reader
    textBox.Text = GetBarcodeData();

    // Set the next active control
    if( textBox == textBox1 ) this.ActiveControl = textBox2;

The ActiveControl property is the control that currently has focus, and changing it changes the control with focus.

Dig Deeper on Win Development Resources

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.