2012-08-17 79 views
2

我有3个文本框和按钮作为拨号盘的胜利应用形式(这是一个触摸屏的应用程序).​​..文本框对焦检查

当拨号键盘按钮被按下我要检查的这3个其中一个文本框有焦点,并附加文本。

喜欢的东西:

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

但是,这并不工作...它附加文本TBX3所有的时间。 有什么建议吗?

谢谢:)

回答

12

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

您可以做的是订阅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; 
} 
+0

完全忘了失去焦点!你的第一句话绰绰有余。谢谢。 – Alex 2012-08-17 12:23:39