计数器无法按时启动

时间:2017-09-09 15:20:20

标签: c#

好的,我试图用一个简单的例子解释一下。 我希望counter在开头有值0。在我点击label1之前,button1是不可见的。我现在的问题是,当我第一次点击button1时,会出现0而不是1.意思是我需要在button1上单击两次,以便显示“1”。 (我对C#很新,所以请不要使用行话来= P)

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        label1.Visible = false;
    }
    int counter = 0;
    private void button1_Click(object sender, EventArgs e)
    {
        label1.Visible = true;
        label1.Text = "number " + counter;
        counter++;
    }
}

2 个答案:

答案 0 :(得分:3)

仔细查看您的点击方法:

private void button1_Click(object sender, EventArgs e)
{
    label1.Visible = true;
    label1.Text = "number " + counter;
    counter++;
}

首先counter的(当前)值分配给label1.Text然后将其递增。交换语句2和3:

private void button1_Click(object sender, EventArgs e)
{
    label1.Visible = true;
    counter++;
    label1.Text = "number " + counter;
}

答案 1 :(得分:0)

或者:

  • 将计数器初始化为1
  • 在显示计数器之前递增计数器

    label1.Text =" number" +(++ counter).ToString();

file:///C:/xampp/htdocs/myweb/ltk/css/styles-home.css
  • 使用(counter + 1)作为您的值

    label1.Text =" number" +(counter + 1).ToString();