控制Maximum干什么,Maximum设置成一个固定值
然后更新value就行了
另,button执行耗时的操作,会阻塞UI,造成界面假死
最好是放到线程里去执行
然后更新value就行了
另,button执行耗时的操作,会阻塞UI,造成界面假死
最好是放到线程里去执行
解决方案 »
- C# DataGridView數據顯示問題,想數據橫向顯示
- 换行的问题啊!
- 跪求!!!C#问题
- 文件内容含有\u如何得到真实内容
- TreeView的问题,请高手来下
- 如果实现DropDownList控件按照条件(条件为true就弹出,false就不弹)弹出确认(confirm)对话框???????????????
- 如何用reporting servise 制作一个能动态生成表格的报表啊
- 一个使用数据绑定textbox新增数据后的问题!
- 请问哪里下载NUnit V2.0?
- Vs.net中一个大胆的问题?
- 程序集签名后解析dll怎么都报错,失心疯了
- 关于 C#文件流 将list列表存成本地TXT 的问题
//进度条设置
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
<table border="0" width="309" id="table1">
<tr>
<td style="width: 269px">
邮件发送中,请稍候。
</td>
</tr>
<tr>
<td style="width: 269px">
<img src="wait.gif" /></td>
</tr>
</table>
</ProgressTemplate>
</asp:UpdateProgress>
//发送设置
protected void btnSendMail_Click(object sender, EventArgs e)
{
try
{
System.Threading.Thread.Sleep(5000);// 延迟5秒钟。
MailAddress SendMailFrom = new MailAddress(txtFrom.Text);
MailAddress SendMailTo = new MailAddress(txtTo.Text);
MailMessage MyMessage = new MailMessage(SendMailFrom, SendMailTo);
MyMessage.Subject = txtSubject.Text;//邮件主题
MyMessage.Body = txtBody.Text;//邮件正文
switch (ddPriority.SelectedValue)//判断其发送的优先极
{
case "Low":
MyMessage.Priority = MailPriority.Low;
break;
case "Normal":
MyMessage.Priority = MailPriority.Normal;
break;
case "High":
MyMessage.Priority = MailPriority.High;
break;
}
SmtpClient emailClient = new SmtpClient(txtServer.Text);
emailClient.Send(MyMessage);
lit_MailStatus.Text = "邮件已经成功发送";
}
catch (Exception ex)
{
lit_MailStatus.Text = ex.ToString();
}
}
指令虽然很多,完全执行完会很耗时
但是单个指令应该执行的很快吧
而且单个指令执行是否成功你应该是能检测到的
你只要把Maximum设置成指令数量,然后每执行完一条指令,value+1,就行了
因为整个执行过程话费的时间不好确定,
所以进度条就是告诉用户,正在处理而不是死掉
对于进度条更新来说,每完成一部分或周期性的增长,涨到最大,从头再来也是可以的。
为了直观说明步骤,
在进行条上最好加上label,显示当前操作的说明,
这样一般用户都能接受的