C# 变量更改时如何更新文本标签

C# 变量更改时如何更新文本标签,c#,C#,我对编程有点陌生,我试图重新创建candybox(一些交互式网站) 在windows窗体应用程序中。我有一个名为candy的变量,还有一个计时器,它每秒钟向变量candy中添加一个,我试着放置标签。text=“candy:+candy.ToString();在那种方法中,它似乎不起作用,有人能帮忙吗 代码: 公共部分类表单1:表单 { 公共整数{get;set;} 公共int棒棒糖{get;set;} 公共表单1(int值,int棒棒糖) { 这个。糖果=价值; this.lollipop=棒棒

我对编程有点陌生,我试图重新创建candybox(一些交互式网站) 在windows窗体应用程序中。我有一个名为candy的变量,还有一个计时器,它每秒钟向变量candy中添加一个,我试着放置标签。text=“candy:+candy.ToString();在那种方法中,它似乎不起作用,有人能帮忙吗

代码:

公共部分类表单1:表单
{
公共整数{get;set;}
公共int棒棒糖{get;set;}
公共表单1(int值,int棒棒糖)
{
这个。糖果=价值;
this.lollipop=棒棒糖;
}
公共表格1()
{
初始化组件();
}
私有void Form1\u加载(对象发送方、事件参数e)
{
label1.Text=“糖果:0”;
按钮2.Enabled=false;
按钮2.可见=假;
标签2.可见=假;
timer.appeated+=新系统.Timers.ElapsedEventHandler(this.TimerHandler);
timer.Start();
}
私有无效按钮1\u单击(对象发送者,事件参数e)
{
糖果+=2;
UpdateCandy(糖果、棒棒糖);
label2.Text=“棒棒糖”+棒棒糖.ToString();
如果(糖果>9)
{
按钮2.Enabled=true;
按钮2.可见=真实;
}
}
私有无效按钮2\u单击(对象发送者,事件参数e)
{
如果(糖果1.0)
{
start=DateTime.Now;
糖果+=1;
已用=DateTime.Now-开始;
}
timer.Interval=1000-appead.total毫秒;
timer.Start();
}
显示的公共void Form1_(对象发送方、事件参数e)
{
timer.appeated+=新系统.Timers.ElapsedEventHandler(this.TimerHandler);
timer.Start();
}
私有void UpdateCandy(int糖果、int棒棒糖)
{
label1.Text=“candy:+candy.ToString();
label2.Text=“棒棒糖”+棒棒糖.ToString();
}
}

我正在使用visual studio 2012(如果此信息有帮助的话)

使表单@N4TKD无效,它似乎没有到达那里(它失败的地方是在TimeHandler方法中,如果我发布了,可能会很有帮助),但它似乎没有到达candy+=1下面的代码@mehow它在执行TimeHandler的while循环时不更新label1(显示candy的那个)
public partial class Form1 : Form
{
    public int candy { get; set; }
    public int lollipop { get; set; }

    public Form1(int value, int lollipop)
    {
        this.candy = value;
        this.lollipop = lollipop;
    }
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        label1.Text = "candy: 0";
        button2.Enabled = false;
        button2.Visible = false;
        label2.Visible = false;

        timer.Elapsed += new System.Timers.ElapsedEventHandler(this.TimerHandler);
        timer.Start();

    }

    private void button1_Click(object sender, EventArgs e)
    {
        candy += 2;
        UpdateCandy(candy, lollipop);
        label2.Text = "lollipops" + lollipop.ToString();
        if (candy > 9)
        {
            button2.Enabled = true;
            button2.Visible = true;
        }
    }
    private void button2_Click(object sender, EventArgs e)
    {
        if (candy <= 10)
        {
            button2.Enabled = false;
        }
        candy -= 10;
        lollipop += 1;
        UpdateCandy(candy, lollipop);
        label2.Text = "lollipops" + lollipop.ToString();
        label2.Visible = true;
    }
    System.Timers.Timer timer = new System.Timers.Timer(1000);

    private void TimerHandler(object sender, System.Timers.ElapsedEventArgs e)
    {
        DateTime start;
        TimeSpan elapsed = TimeSpan.MaxValue;


        while (elapsed.TotalSeconds > 1.0)
        {
            start = DateTime.Now;

            candy += 1;


            elapsed = DateTime.Now - start;
        }
        timer.Interval = 1000 - elapsed.TotalMilliseconds;
        timer.Start();

    }

    public void Form1_Shown(object sender, EventArgs e)
    {
        timer.Elapsed += new System.Timers.ElapsedEventHandler(this.TimerHandler);
        timer.Start();
    }
    private void UpdateCandy(int candy, int lollipop)
    {
        label1.Text = "candy: " + candy.ToString();
        label2.Text = "lollipops" + lollipop.ToString();
    }


}