我正在构建一个简单的计算器。我有三个textBox:textBox1(第一个操作数),textBox2(第二个操作数)和textBox3(结果)。我有许多可以执行的操作数函数。我还有一个清除所有字段以及其他功能的按钮。
仅当光标位于该文本框中时,我才能使用按钮删除特定文本框中的文本所需的代码。
例如:如果光标位于textBox1中,则该按钮仅清除该文本框。
非常感谢任何帮助。
感谢。
答案 0 :(得分:1)
点击Button
后,它将获得焦点。
因此,您需要跟踪哪些TextBoxes
焦点最后。
为此创建一个类级变量:
TextBox focusedTextBox = null;
现在hook up此事件包含所有三个Enter
事件 TextBoxes
:
private void textBoxes_Enter(object sender, EventArgs e)
{
focusedTextBox = sender as TextBox;
}
然后,这只会清除您的用户最后一个:
private void buttonClearCurrent_Click(object sender, EventArgs e)
{
if (focusedTextBox != null) focusedTextBox.Text = "";
}
答案 1 :(得分:0)
在这种情况下,您必须在文本框中使用Focused属性。 但是你需要创建一个循环来识别哪个文本框是关注的。
像:
var focusedControl;
foreach(var control in this.Controls)
{
if(control is TextBox)
{
if(control.Focused)
{
focusedControl = control;
break;
}
}
}
答案 2 :(得分:0)
您可以使用事件:" MouseHover"或" MouseClick"并设置textBox1.Text =""