我是C#的新手,我正在尝试编写一个程序,每次单击按钮都会在textBoxes中添加相同的数字。
if (textBox1.Text == "1")
{
textBox2.Text.AppendText(textBox1);
}
当我单击按钮时,两个框中将同时添加数字“ 1”。我该怎么做才能先在第一个框中添加数字,然后在第二个框中单击下一步?
非常感谢您的帮助。
答案 0 :(得分:0)
如果我正确理解了您的问题,则应该使用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;
}
}
}
答案 1 :(得分:-1)
在您发表评论后,我现在了解您要执行的操作。项目的属性菜单中的“数据”列下方有一个“标签”。我建议做的是默认情况下设置数据列内第一个文本框的名称。例如,如果您有5个名为的文本框: text1,text2,text3,text4,text5
进入设计并将“标签”设置为“ 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;
}