简体   繁体   中英

textbox focus check

I have a win app form with 3 text boxes and buttons as dial pad (it's a touchscreen app)...

When a dial pad button is pressed I want to check which one of these 3 text boxes has focus, and append text to it.

Something like:

if (tbx1.Focused == true)
{
   tbx1.Text += "0";
}
else if (tbx2.Focused == true)
{
   tbx2.Text += "0";
}
else
{
   tbx3.Text += "0";
}

But this doesn't work... It appends text to tbx3 all the time. Any suggestions?

Thanks :)

The problem arises when you click the button, the button will gain focus and not any of your textboxes.

What you can do is subscribe to the LostFocus event and remember what textbox had the focus last.

Something like:

private TextBox lastFocused;
private void load(object sender, EventArgs e){
    foreach (TextBox box in new TextBox[] { txtBox1, txtBox2, txtBox3 }){
        box.LostFocus += textBoxFocusLost;
    }
}

private void textBoxFocusLost(object sender, EventArgs e){
    lastFocused = (TextBox)sender;
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM