C#学习笔记-数据的传递以及ToolStripProgressBar

时间:2022-01-17 08:47:31

代码:

方法一:窗体的代码-->可以直接通过预设的Click事件来实现控制进度条。

     public partial class Form1 : Form
{ public Form1()
{
InitializeComponent();
toolStripProgressBar_save.Minimum = ;
toolStripProgressBar_save.Maximum = ;
toolStripProgressBar_save.Step = ;
} #region 不涉及数据传输
private void button_10_Click(object sender, EventArgs e)
{
//清空进度表
toolStripProgressBar_save.Value = ; if(toolStripProgressBar_save.Value<)
{
for (int i=;i<;i++)
{
toolStripProgressBar_save.PerformStep();
toolStripLabel_save.Text = toolStripProgressBar_save.Value.ToString() + "%";
}
}
} private void button_30_Click(object sender, EventArgs e)
{
if (toolStripProgressBar_save.Value < )
{
for(int i=;i<;i++)
{
toolStripProgressBar_save.PerformStep();
}
}
toolStripLabel_save.Text = "30%";
} private void button_50_Click(object sender, EventArgs e)
{
if (toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
toolStripProgressBar_save.PerformStep();
}
}
toolStripLabel_save.Text = "50%";
} private void button_60_Click(object sender, EventArgs e)
{
if (toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
toolStripProgressBar_save.PerformStep();
}
}
toolStripLabel_save.Text = "60%";
} private void button_80_Click(object sender, EventArgs e)
{
if (toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
toolStripProgressBar_save.PerformStep();
}
}
toolStripLabel_save.Text = "80%";
} private void button_100_Click(object sender, EventArgs e)
{
if (toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
toolStripProgressBar_save.PerformStep();
}
}
toolStripLabel_save.Text = "Complete!";
}
#endregion private void button_save_Click(object sender, EventArgs e)
{
Save.Singleton().SaveAll();
}
}

方法二:通过调用其他类里的方法来实现对进度条的控制。

注意一:需要using System.Windows.Forms;

注意二:进度条ToolStripProgressBar的权限需要改成Public

    public class Save
{
private static Save _instance = null; private Form1 n = null; public void SaveAll()
{
getWnd(); n.toolStripProgressBar_save.Minimum = ;
n.toolStripProgressBar_save.Maximum = ;
//清空进度表
n.toolStripProgressBar_save.Value = ;
n.toolStripProgressBar_save.Step = ; #region 保存过程-与单独按钮是一样的
if (n.toolStripProgressBar_save.Value < )
{ for (int i = ; i < ; i++)
{
n.toolStripProgressBar_save.PerformStep();
n.toolStripLabel_save.Text = n.toolStripProgressBar_save.Value.ToString() + "%";
}
} Thread.Sleep(); if (n.toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
n.toolStripProgressBar_save.PerformStep();
n.toolStripLabel_save.Text = n.toolStripProgressBar_save.Value.ToString()+"%";
}
} Thread.Sleep(); if (n.toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
n.toolStripProgressBar_save.PerformStep();
n.toolStripLabel_save.Text = n.toolStripProgressBar_save.Value.ToString() + "%";
}
}
Thread.Sleep(); if (n.toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
n.toolStripProgressBar_save.PerformStep();
n.toolStripLabel_save.Text = n.toolStripProgressBar_save.Value.ToString() + "%";
}
}
Thread.Sleep(); if (n.toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
n.toolStripProgressBar_save.PerformStep();
n.toolStripLabel_save.Text = n.toolStripProgressBar_save.Value.ToString() + "%";
}
}
Thread.Sleep(); if (n.toolStripProgressBar_save.Value < )
{
for (int i = ; i < ; i++)
{
n.toolStripProgressBar_save.PerformStep();
n.toolStripLabel_save.Text = n.toolStripProgressBar_save.Value.ToString() + "%";
}
}
n.toolStripLabel_save.Text = "Complete!";
Thread.Sleep();
#endregion } //查找当前打开的窗体,必须有这个才能传递数据
private void getWnd()
{
foreach(Form fm in Application.OpenForms)
{
if (fm.Name == "Form1")
{
n = (Form1)fm;
break;
}
}
} public static Save Singleton()
{
if (_instance == null)
{
_instance = new Save();
}
return _instance;
}
}

效果图:(左边为方法一的效果、右边为方法二的效果图)
C#学习笔记-数据的传递以及ToolStripProgressBar     C#学习笔记-数据的传递以及ToolStripProgressBar