C#Windows窗体计算器-每次单击选择文本框
首先,我是德国人。这是我的计算器的屏幕截图。。有点奇怪但我知道xD 所以,我在寻找一个命令: 我得到了4个文本框,第一个(文本框1)用于1。数字, 二,。一个(文本框2)用于运算符(+-*/), 三。二人一人。数 和4。结果如何 如果我这样做:C#Windows窗体计算器-每次单击选择文本框,c#,windows,forms,textbox,C#,Windows,Forms,Textbox,首先,我是德国人。这是我的计算器的屏幕截图。。有点奇怪但我知道xD 所以,我在寻找一个命令: 我得到了4个文本框,第一个(文本框1)用于1。数字, 二,。一个(文本框2)用于运算符(+-*/), 三。二人一人。数 和4。结果如何 如果我这样做: private void button3_Click(object sender, EventArgs e) { textBox1.SelectedText += "1"; textBox3.SelectedText += "1"; }
private void button3_Click(object sender, EventArgs e)
{
textBox1.SelectedText += "1";
textBox3.SelectedText += "1";
}
或
我点击的按钮的数字现在显示在两个文本框中(1.1和3.1)。
但我希望我点击的按钮的编号将出现在我首先选择的文本框中。
因此,我首先选择textbox1或textbox3,只需单击它,然后单击一个按钮(例如1),然后数字1将出现在我选择/单击的文本框中。我无法理解您的问题,但我注意到您的逻辑中存在一个问题 C#将它们作为字符串添加,这将导致连接 首先将值转换为整数,它将正确相加
textBox1.Text = int.Parse(textBox1.Text) + 1;
至于你的实际问题,如果你想“记住”你点击的文本框,在点击事件中添加一个事件来存储你在变量中选择的文本框控件,然后在逻辑中使用它。在两个文本框的激活事件中,存储哪个框被激活。然后在_Clicked事件中使用:
private TextBox currentTextBox;
// Both textboxes can use this function
private void textbox_Activate(object sender, EventArgs e)
{
this.currentTextBox = (TextBox) sender;
}
private void button3_Click(object sender, EventArgs e)
{
currentTextBox.Text = textBox1.Text + "1";
}
您可以选择一个全局变量TextBox TextBox,然后在事件中textBox1\u单击和textBox3\u单击设置变量。稍后在按钮3中单击选择文本框Selected并添加您的逻辑。 试试这个:
TextBox textBoxSelected;
private void txtBox1_Click(object sender, EventArgs e)
{
textBoxSelected = textBox1;
}
private void txtBox3_Click(object sender, EventArgs e)
{
textBoxSelected = textBox3;
}
private void button3_Click(object sender, EventArgs e)
{
textBoxSelected.Text += "1";
}
下面是一些记录:
1/命名约定:使用指向按钮功能或文本框内容的清晰名称。比如说:TextBoxLeftOperator,ButtonN1,TextboxOperator。。。
2/使用名为SelectedTextbox的新变量
var SelectedTextbox=newtextbox();
3/在两个文本框的单击事件中添加所选文本框的分配。
对于左侧文本框:
在您的案例中,SelectedTextbox=TextBoxLeftOperator//textbox1
对于正确的文本框
在您的案例中,SelectedTextbox=TextBoxRightOperator//textbox1
4.现在,您只需使用新变量。我正在寻找一个命令,可以在我选择的文本框中添加按钮文本。您是否希望在单击按钮时设置
文本框的文本,所以我不知道如何添加一个事件:D只知道基本的Damn他想要连接。。。就像你按下计算器上的“1”按钮一样,显示的值后面会加上一个“1”。@JamesCurran我的错,正如我说的,我正在努力理解它。但是,对于“equals”按钮,需要进行一些转换。我如何设置全局变量TextBox textBoxSelected?我有点为这样的问题感到难过:对不起,对于我的英语,变量textBoxSelected是在方法txtBox1\u Click和txtBox3\u Click中设置的。请参见答案中的代码。因此,您是德国人,意思是你在寻找德语的解决方案?不,我只是说我的英语有点特别
TextBox textBoxSelected;
private void txtBox1_Click(object sender, EventArgs e)
{
textBoxSelected = textBox1;
}
private void txtBox3_Click(object sender, EventArgs e)
{
textBoxSelected = textBox3;
}
private void button3_Click(object sender, EventArgs e)
{
textBoxSelected.Text += "1";
}