文本框焦点检查
我有一个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; }