我有一个win应用程序表单,有3个文本框和按钮作为拨号盘(它是一个触摸屏应用程序)...
当按下拨号盘按钮时,我想检查这3个文本框中的哪一个具有焦点,并向其附加文本.
就像是:
if (tbx1.Focused == true)
{
tbx1.Text += "0";
}
else if (tbx2.Focused == true)
{
tbx2.Text += "0";
}
else
{
tbx3.Text += "0";
}
Run Code Online (Sandbox Code Playgroud)
但是这不起作用......它会一直将文本附加到tbx3.有什么建议?
谢谢 :)
Pat*_*ick 14
单击按钮时出现问题,按钮将获得焦点,而不是任何文本框.
您可以做的是订阅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;
}
Run Code Online (Sandbox Code Playgroud)