文本框焦点检查

我有一个win应用程序表单,有3个文本框和按钮作为拨号盘(它是一个触摸屏应用程序).​​..

当按下拨号盘按钮时,我想检查这3个文本框中的哪一个具有焦点,并向其附加文本。

就像是:

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

但这不起作用……它会一直将文本附加到tbx3。 有什么建议?

谢谢 :)

单击按钮时会出现问题,按钮将获得焦点,而不是任何文本框。

您可以做的是订阅LostFocus事件并记住焦点最后的文本框。

就像是:

 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; }