我是C#的新手,我正在尝试编写一个程序,该程序通过每次单击按钮在文本框中添加相同的数字。
if (textBox1.Text == "1")
{
textBox2.Text.AppendText(textBox1);
}
当我单击按钮时,数字"1"将同时添加到两个框中。我应该怎么做才能在第一个框中先添加数字,然后在第二个框中单击下一个数字?
我会非常感谢你的帮助。
正确理解您的问题,您应该使用 Class 范围的变量来计算按钮被单击的次数,例如。 clickCount
,然后使用该值确定要更新的文本框。例如:
public partial class Form1 : Form
{
int clickCount;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
clickCount = 0;
}
private void button1_Click(object sender, EventArgs e)
{
clickCount++; // increment clickCount each time the button is clicked
switch (clickCount)
{
case 1:
textBox1.Text = "1";
break;
case 2:
textBox2.Text = "1";
break;
case 3:
textBox3.Text = "1";
break;
case 4:
textBox4.Text = "1";
break;
case 5:
textBox5.Text = "1";
break;
default:
MessageBox.Show("clickCount outside of range (5)");
break;
}
}
}
在您的评论之后,我现在明白您要做什么了。项目的属性菜单中有一个"标签",位于"数据"列下方。我建议做的是默认情况下设置数据列内第一个文本框的名称。例如,如果您有 5 个名为的文本框:文本 1、文本 2、文本 3、文本 4、文本5
进入设计并将"标签"设置为"text1"
然后,您的代码应如下所示:
switch(btnMyButton.Tag.ToString()){
case "text1":
text1.Text = (int.Parse(text1.Text) + 1).ToString();
btnMyButton.Tag = "text2";
break;
case "text2":
text2.Text = (int.Parse(text2.Text) + 1).ToString();
btnMyButton.Tag = "text3";
break;
case "text3":
text3.Text = (int.Parse(text3.Text) + 1).ToString();
btnMyButton.Tag = "text4";
break;
case "text4":
text4.Text = (int.Parse(text4.Text) + 1).ToString();
btnMyButton.Tag = "text5";
break;
case "text5":
text5.Text = (int.Parse(text5.Text) + 1).ToString();
btnMyButton.Tag = "text1";
break;
}