http://bbs.hidotnet.com/22214/ShowPost.aspx

此组件内包含:
FantasyColorDialog:调色板控件。
FantasyPopupBox:弹出提示控件(修改自Ben的PopupBox)。
FantasyProgressBar:进度栏控件。

以及一个静态类MessageBox。


http://aspxhome.vicp.net/AspNetNews/lostpass.aspx
进度条控件使用方法。

设计页面代码:
<FMC:FantasyProgressBar ID="ProgressBar" runat="server" OnValueChanged="ProgressBar_ValueChanged"></FMC:FantasyProgressBar>
<input id="ProgressBarBtn" runat="server" type="button" value="测试进度条" />

类文件代码:

// 页面加载时设置控件属性。
protected void Page_Load(object sender, EventArgs e)
{
 // 将调用进度条事件的脚本赋值给按钮的点击事件。
 ProgressBarBtn.Attributes["onclick"] = ProgressBar.InvokeScript;
 // 设置进度条更新间隔(单位:毫秒)。
 ProgressBar.Interval = 500;
 // 添加回传之前的客户端脚本。
 ProgressBar.CallbackAppendScript = @"
 // 这里可以添加回传之前需要处理的事务。
 // 若要强行中止进度条时间则让此函数返回 false 值即可。
";
 // 添加返回之后的客户端脚本。
 ProgressBar.ReceiveAppendScript = @"
 // 这里可以添加返回之后需要处理的事务。
 // 若要强行中止进度条时间则让此函数返回 false 值即可。
";
}

// 当进度条值改变时触发该事件。
protected void ProgressBar_ValueChanged(object sender, EventArgs e)
{
 // 进度条的值完全由开发人员动态指定,控件本身不参与进度计算。
 if (ProgressBar.Value > 50)
 {
  ProgressBar.Value += 3;
 }
 else
 {
  ProgressBar.Value += 1;
 }
 Session["Time"] = ProgressBar.Value;
 if (ProgressBar.Value > 100)
 {
  Session.Remove("Time");
 }
}


这是调用进度条执行事件的客户端代码

function InvokeProgress(ProgressBar) {
 if (ProgressBar.children[0].style.width == 0 + "%") {
  WebForm_OnInvokeProgress(ProgressBar, 500);
 }
}
function WebForm_OnInvokeProgress(ProgressBar, Interval) {
 var Value = parseInt(ProgressBar.children[0].style.width);
 if (!InvokeProgressCallbackAppendScript(Value, ProgressBar)) return;
 var eventArgument = Value + "|" + Interval;
 InvokeProgressCallTheServer(eventArgument, ProgressBar.id);
}
function InvokeProgressCallbackAppendScript(Value, ProgressBar) {
 // 这里可以添加回传之前需要处理的事务。
 // 若要强行中止进度条时间则让此函数返回 false 值即可。
 return true;
}
function InvokeProgressReceiveAppendScript(Value, IsStop) {
 // 这里可以添加返回之后需要处理的事务。
 // 若要强行中止进度条时间则让此函数返回 false 值即可。
 return true;
}
function InvokeProgressCallTheServer(args, context) {
WebForm_DoCallback('ctl00$MainContent$ProgressBar',args,InvokeProgressReceiveServerData,context,InvokeProgressReceiveProcessData,false);
}

posted on 2007-02-25 17:16  mbskys  阅读(161)  评论(0)    收藏  举报