Hel*_*der 5 c# events label auto-update winforms
所以这是我的计划.
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
static int count = 0;
public Form1(){InitializeComponent();}
private void button1_Click(object sender, EventArgs e)
{
count += 1;
label1.Text = Convert.ToString(count);
}
private void button2_Click(object sender, EventArgs e)
{
count -= 1;
label1.Text = Convert.ToString(count);
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在......每当我们按下两个按钮之一并将值保存到全局变量计数然后将其显示在label1中时,我有一个程序可以加1或减1.
假设我想更改另一个标签(label2)的值,我想在每次label1更改时显示count变量值的内容.
所以有一种方法,使用按钮中的事件,可以这样做:
private void button1_Click(object sender, EventArgs e)
{
count += 1;
label1.Text = Convert.ToString(count);
label2.Text = Convert.ToString(count);
}
private void button2_Click(object sender, EventArgs e)
{
count -= 1;
label1.Text = Convert.ToString(count);
label2.Text = Convert.ToString(count);
}
Run Code Online (Sandbox Code Playgroud)
所以这是问题......
但是让我说我想更新label2的值而不是从按钮的事件更新,但不知何故,它会在计数变量发生变化时自动更新值.
请帮忙.
在这种情况下使用属性
private int count
private int Count
{
get { return count; }
set
{
count = value;
RefreshLabels();
}
}
private void RefreshLabels()
{
label1.Text = Convert.ToString(count);
label2.Text = Convert.ToString(count);
}
Run Code Online (Sandbox Code Playgroud)
当你想改变数量时,只需使用属性
Count += 1;
Count -= 1;
Run Code Online (Sandbox Code Playgroud)