首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>C#语言>asp.net打造进度条窗口代码,还有取消按钮呢
asp.net打造进度条窗口代码,还有取消按钮呢
来源: 发布时间:2007-10-31 发布人: 浏览: 人次   字体: [ ]  

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace Test

 

{

    public class MyProgress

    {       

        private int MaxNum;

        Form progressForm=null;

        ProgressBar progressBar1=null;

        bool Stop=false;

        Label label1;

        public bool ProgressStep(int step)

        {

            if (Stop)

            {

                this.Dispose();

                return true;

            }

            if (progressBar1.Value > progressBar1.Maximum)

            {

                this.Dispose();

                return true;

            }

           

            progressBar1.Value+= step;

            label1.Text = "目前完成:" + (progressBar1.Value * 100 / progressBar1.Maximum) + "%";

            Application.DoEvents();

           

            return false;

        }

        private void btn_Click(object sender, EventArgs e)

        {

            if (MessageBox.Show("你确定终止吗", "终止", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes)

            Stop = false;

            else

            Stop = true;

        }

        public MyProgress(int Max, String Caption, bool IsCancel)//最大值和标题

        {

            progressForm = new Form();

            progressForm.MinimizeBox = false;

            progressForm.MaximizeBox = false;

            progressForm.StartPosition = FormStartPosition.CenterScreen;

            progressForm.Width = 326+19;

            progressForm.Height = 96+19+20;

            progressForm.Text= Caption;

            progressForm.TopMost = true;//设置窗口在上边

            label1 = new Label();

            label1.Left = 9;

            label1.Top = 15;

            label1.Parent = progressForm;

            progressBar1 = new ProgressBar();

            progressBar1.Maximum = Max;

            MaxNum = Max;

            progressBar1.Left = 9;

            progressBar1.Top = 25+15;

            progressBar1.Width = 310;

            progressBar1.Parent = progressForm;

            progressBar1.Value = 0;

           

            if (IsCancel)

            {

                Button btnCancel = new Button();

                btnCancel.Text = "取消";

                btnCancel.Left = 240;

                btnCancel.Top = 54+20;

                btnCancel.Parent = progressForm;

                btnCancel.Click += new System.EventHandler(this.btn_Click);

               

            }

            progressForm.Show();

           

        }

        public void Dispose()

        {

            if (progressForm != null)

            {

                progressBar1.Dispose();

                progressForm.Dispose();

            }

        }

    }

}

----------------------------------

//调用测试 进度条窗口

private void button2_Click(object sender, EventArgs e)

{

    MyProgress myProgress = new MyProgress(100, "进度条", true);

    try

    {

        for (int i = 0; i < 100; i++)

        {

            if (myProgress.ProgressStep(1)) return;

            Application.DoEvents();//让系统在百忙中抽空刷新

           

            Thread.Sleep(100);

        }

    }

    finally

    {

        myProgress.Dispose();

    }

}

 


相 关 文 章   发布商链接
·C#实现日期转换为大写代码
·C#装箱与拆箱的代码事例小解
·C#获取硬件标志代码示例
·快速进行List排序的通用方法代码
·C#实现病毒及流氓软件能够自我复制的...
·String.Split 方法使用及其代码示例
·C#实现人民币(RMB)转化为大写字母...
·用C#操作类读写WinCE平台Mac地址代码...
·C#中判断字符是否为中文代码
·C#实现更改IP功能源码
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·有助快速理解C#委托和事件之...
·C#泛型学习笔记总结
·c#语言从dbf数据库提取数据并
·C#编写控制线程的运行和线程...
·怎样在C#中删除只读文件及其...
·C#函数中返回多个值的两种方...
·如何在C#中插入照片到Excel文
·如何在c#中获取事件注册的方...
·C#对timer类的使用操作代码
·什么是泛型?泛型的一些概述
·C#如何从文本文件读取信息并...
·如何在c#中去掉字符串中的回...
·如何使用C#获取IIS服务器版本...
·什么是泛型编程思想?及其简...
·c#子线程控制进度条的一个简...
热 门 文 章
·c#中收发邮件处理代码(POP3,...
·C#如何获取文件路径中的文件...
·什么是c#深拷贝与浅拷贝及其...
·C#中关于四舍五入函数的讨论...
·c#中的ArrayList属性祥解及其...
·C#语言实现创建、删除和移动...
·快速进行List排序的通用方法...
·C#对timer类的使用操作代码
·String.Split 方法使用及其代...
·如何在c#中去掉字符串中的回...
·用C#编写ActiveX控件代码实例
·C#语言实现从XML文件导出数据...
·C#如何从文本文件读取信息并...
·浅谈接口和抽象类的区别,加...
·c#子线程控制进度条的一个简...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .