代码:

方法一:窗体的代码-->可以直接通过预设的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的更多相关文章

  1. C#学习笔记-数据的传递(公共变量)以及Dictionary

    看的代码越多,写的代码越多,就越是享受这些字符,终于渐渐懂得了那种传闻中的成就感,特别是自己从看不懂然后一步一步学,一个代码一个代码地敲,最后哪怕只是完成了一个小功能,也都是特别自豪的!这种自豪不用告 ...

  2. [ 原创 ]学习笔记- 数据在Activity之间的传递的情况

    情况一:一个Activity跳转到另一个Activity时,将第一个Activity的数据传递到第二个Activity里面. 分析:当一个界面跳转到另一个界面的同时还要讲数据传递过去,这种情况需要用I ...

  3. c语言学习笔记 函数数组传递笔记

    今天学习c语言的一个小例子,果然还是陷入了php的编程习惯里,这里记录一下. #include <stdio.h> //例子很简单,就是编写一个函数把传递进来的数组里的值都赋值为1而已 / ...

  4. EXCEL 2010学习笔记 —— 数据透视表

    今天整理一下EXCEL2010 数据透视表的课程笔记,数据透视表可以对多组数据进行统计和整理,是一种基本的数据可视化工具. 记录6个方面的总结: 1.创建数据透视表 2.更改数据透视表的汇总方式 3. ...

  5. GO学习笔记 - 数据校验

    本文主题:基于asaskevich/govalidator实现Golang数据校验 小慢哥的原创文章,欢迎转载 目录 ▪ 一. asaskevich/govalidator介绍 ▪ 二. 字符串匹配 ...

  6. AppCan学习笔记--数据存储及listview简单应用

    AppCan AppCan开发平台简介 AppCan是Hybrid App开发框架即混合开发框架,有官方提供底层功能使用API HTML5和JavaScript只是作为一种解析语言,真正调用的都是Na ...

  7. MySQL学习笔记 -- 数据表的基本操作

    数据库是一个可以存放数据库对象的容器,数据库对象包括:表.视图.存储过程.函数.触发器.事件.其中,表是数据库最基本的元素,是其他数据库对象的前提条件. 表中的一列称为一个字段,一行称为一条记录. 1 ...

  8. MongoDB学习笔记(数据操作)

    1.  批量插入:     以数组的方式一次插入多个文档可以在单次TCP请求中完成,避免了多次请求中的额外开销.就数据传输量而言,批量插入的数据中仅包含一份消息头,而多次单条插入则会在每次插入数据时封 ...

  9. Scikit-Learn模块学习笔记——数据预处理模块preprocessing

    preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到 pipeline 过程中. 数据标准化 标准化预处理函数: preprocessing.scale(X, ...

随机推荐

  1. Sql数据库查询当前环境有无死锁

    DECLARE @spid INT , @bl INT , @intTransactionCountOnEntry INT , @intRowcount INT , @intCountProperti ...

  2. 创建javaScript对象的方法

    一.工厂模式 function person (name,age) { var p=new Object(); p.name=name; p.age=age; p.showMessage=functi ...

  3. 使用pyinstaller打包Python应用,生成EXE执行文件

    在命令行中切换到要打包的程序所在目录,或者在程序目录打开命令行,直接输入下面的指令即可pyinstaller -F xxx.py pyinstaller -F -w -i manage.ico app ...

  4. css中定位

    一切皆为框div.h1或p元素尝尝被称为块级元素.这意味着这些元素显示为一块内容,即“块框”.与之相反,span和strong等元素称为“称为”行内元素“,这是因为他们的内容显示在行中,即”行内框“. ...

  5. AbstractFactoryPattern(抽象工厂)

    /** * 抽象工厂模式 * 分为四部分 * 1.产品接口 * 2.产品实例 * 3.工厂接口(生产同一个产品的不同等级,这里是主要区别) * 4.工厂实例 * 工厂类最好用单例模式,但在这里主要是说 ...

  6. 服务器判断http是否中断

    一般来说,只需要send或者recv一下,如果结果为零,则为掉线. 1.当recv返回值为0是表示对方已经正常(MSDN说是完美的)的断开连接.2.当recv返回SOCKET_ERROR时,说明对方已 ...

  7. java多线程-线程池

    线程池(Thread Pool)对于限制应用程序中同一时刻运行的线程数很有用.因为每启动一个新线程都会有相应的性能开销,每个线程都需要给栈分配一些内存等等. 我们可以把并发执行的任务传递给一个线程池, ...

  8. js => ES6一个新的函数写法

    今天在网上参观到一个写法,返回字符串个个字母的个数 var arr='aaabbccaa'; var info = arr.split('').reduce((p, k) => (p[k]++ ...

  9. ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave由于鼠标移动速度过快导致问题解决办法

    记录两个项目开发中遇到的问题,一个是ECharts外部调用保存为图片操作,一个是workflow工作流连接曲线onmouseenter和onmouseleave事件由于鼠标移动过快触发问题. 一.外部 ...

  10. SharePoint 2013 图文开发系列之计时器任务

    SharePoint的计时器任务,又称TimerJob,由服务里的Timer服务执行,在管理中心管理,是一个类似于Windows任务计划的功能,方便定时执行一些需要的功能,以免影响服务器性能. 在Sh ...