0
我试图把一个label1.text = progressbar1.value.ToString();
,它不会读出它有多少进展。这是我迄今为止的一些帮助。百分比读数的ProgressBar
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
progressBar1.Value = s_Checks * (progressBar1.Maximum/TOTAL_CHECKBOXES);
label1.Text = progressBar1.Value.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private const Int32 TOTAL_CHECKBOXES = 4;
private static Int32 s_Checks = 0;
private void OnCheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
++s_Checks;
else
--s_Checks;
progressBar1.Value = s_Checks * (progressBar1.Maximum/TOTAL_CHECKBOXES);
}
private void progressBar1_Click(object sender, EventArgs e)
{
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
++s_Checks;
else
--s_Checks;
progressBar1.Value = s_Checks * (progressBar1.Maximum/TOTAL_CHECKBOXES);
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
++s_Checks;
else
--s_Checks;
progressBar1.Value = s_Checks * (progressBar1.Maximum/TOTAL_CHECKBOXES);
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
++s_Checks;
else
--s_Checks;
progressBar1.Value = s_Checks * (progressBar1.Maximum/TOTAL_CHECKBOXES);
}
private void checkBox4_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked)
++s_Checks;
else
--s_Checks;
progressBar1.Value = s_Checks * (progressBar1.Maximum/TOTAL_CHECKBOXES);
}
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked || checkBox2.Checked || checkBox3.Checked || checkBox4.Checked == true)
{
checkBox1.Checked = false;
checkBox2.Checked = false;
checkBox3.Checked = false;
checkBox4.Checked = false;
}
}
private void clearCheckBoxToolStripMenuItem_Click(object sender, EventArgs e)
{
if (checkBox1.Checked || checkBox2.Checked || checkBox3.Checked || checkBox4.Checked == true)
{
checkBox1.Checked = false;
checkBox2.Checked = false;
checkBox3.Checked = false;
checkBox4.Checked = false;
}
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = progressBar1.Value.ToString();
}
}
}
创建一个属性,而不是用于s_Checks的变量。在setter中,更新进度条和标签。不要把它变成静态的,这没有意义。 –
'Timer'正在运行并且'Enabled'? –