这篇文章主要为大家详细介绍了C#使用winform实现进度条效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了C#使用winform实现进度条效果的具体代码,供大家参考,具体内容如下
1.例子
2.点击查询按钮代码
私有空的按钮8 _点击(对象发送方,EventArgs e)
{
字符串orgid=字符串。空的;
字符串scbz=字符串。空的;
if(组合框7 .SelectedIndex==-1)
{
orgid=
}
其他
{
orgid=comboBox7 .选择编辑项目。ToString().子串(0,6);
}
if(组合框8 .SelectedIndex==-1)
{
scbz=
}
其他
{
scbz=comboBox8 .选择编辑项目。ToString().子串(0,1);
}
Det _ SummaryDataContext org=new Det _ SummaryDataContext();
var查询=来自组织中的物料Peo _员工信息
按项目排序。保守的
其中(字符串IsNullOrEmpty(orgid) || item .StaID==orgid)
(字符串IsNullOrEmpty(scbz) ||项目. SCBZ==scbz)
选择项目;
数据网格视图4数据源=查询. to list();
标签16。Text='共dataGridView4 '行数'条数据;
进步栏1 .值=0;//初始化进度条的值
进步栏1 .最小值=0;
进步栏1 .最大值=dataGridView4 .RowCount//设置进度条范围
}
3.点击手动上传按钮代码
私有空的按钮7 _点击(对象发送方,EventArgs e)
{
if (dataGridView4 .数据源==null)
{
消息框.显示('没有需要上传的数据', '提示消息框按钮.好了MessageBoxIcon .信息);
}
其他
{
int sum cout=0;
int up count=0;
foreach(datagridview 4中的DataGridViewRow行。选择行)
{
sum cout=1;
进步栏1 .价值;//动态显示进度条进度
申请DoEvents();//处理当前在消息队列中的所有窗子消息
string orgid=row .单元格[' StaID ']。价值。tostring();
string empid=row .单元格[' EmpID ']。价值。tostring();
Det _ SummaryDataContext Det=new Det _ SummaryDataContext();
字符串cityid=(从系统到详细.基本系统参数
选择系统CityID)。to list()[0];
root r=new root();
head h=new head();
body b=new body();
string strxml=string .空的;
字符串限制=字符串。空的;
服务参考1 .VSC=新服务参考1 .VeptsServiceImplClient();
int evl=0;
变量查询1=从乌尔到细节.Peo_TUserRole
加入国际扶轮社ur上的Peo_RoleInfo .RoleID等于里.RoleID到A
来自urri in A.DefaultIfEmpty()
选择新建
{
UADID=ur .UADID,
RoleID=ur .RoleID,
RoleName=urri .角色名
};
变量查询2=来自查询1中的q
加入你的队伍106 . q . ua did上的Peo _ TUserRightRelation等于屠.UADID变成了B
来自B.DefaultIfEmpty()中的qtu
选择新建
{
UADID=q.UADID,
RoleID=q.RoleID,
角色名=q。角色名,
EmpID=qtu .EmpID
};
变量查询=来自查询2中的q
在方阵函数中加入诶.q.EmpID上的Peo _员工信息等于诶.EmpID到C中
来自C.DefaultIfEmpty中的qei
qei在哪?EmpID==empid
选择新的JCZ03
{
idcardno=qei .身份证号码,
tsno=cityid qei .稳重。Substring(4,2),
personname=qei .EmpName,
culturegrade=qei .教育,
工作日期=qei .DivisionTime,
//1站长2技术负责人3质量负责人四外检员5登录员6驾控员七尾气操作员8其他
jobduty=q.RoleID=='130100002 '?' 5' : q.RoleID=='130100003 '?' 7' : q.RoleID=='130100004 '?' 7' : q.RoleID=='130100005 '?' 6' : q.RoleID=='130100006 '?'1' : '8',
//状态(0:未审;1:在岗;2:离职,3 锁止)
状态=qei .EmpState=='0 '?'1' : '2'
};
列表JCZ03 jcz033=查询tolistjcz 03();
h.organ=属性.设置。默认。JKBH
h.jkxlh=属性.设置。默认。JKXLH
h。j kid=' jcz 03
乙。vehispara=jcz 033[0];
r。head=h;
r。body=b;
strxml=其他XML序列化root(r);
其他writellog(strxml);//打印发送日志
restr=系统web . com。http实用程序。URL解码(VSC。write(strxml));
其他WriteLwLog(restr,false);//打印接受日志
如果(!雷斯特。包含(@ '代码1/代码'))
{
evl=1;
}
如果(evl==0)
{
变量查询3=来自明细中的项目Peo _员工信息
其中项目.StaID==orgid项目EmpID==empid。
选择项目;
foreach(查询3中的变量项)
{
项目SCBZ=' O
}
侦探/限定词提交更改();
向上计数=1;//上传数量成功上传一条就自增一
}
其他
{
变量查询3=来自明细中的项目Peo _员工信息
其中项目.StaID==orgid项目EmpID==empid。
选择项目;
foreach(查询3中的变量项)
{
项目SCBZ=' E
}
侦探/限定词提交更改();
}
}
消息框.显示(字符串。格式('选中{0}条数据,成功上传{1}条!',sumcout,upcount),'提示消息框按钮.好了MessageBoxIcon .信息);
}
}
4.思路
首先设置进程条的范围,该范围就是要动态处理数据集的大小。
然后在为每一个循环里设置进度条值自增,即进程条.价值;
最后加上一句申请DoEvents();用来刷新用户界面显示进度条进度。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。