C# Winform实现进度条显示

本文实例为大家分享了C# Winform实现进度条显示的具体代码,供大家参考,具体内容如下

创建一个窗体,命名为StartForm

添加一个timer控件并更改名字为timerStart

添加一个ProgressBar控件,并调整一下属性:

StartForm窗体的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace MVtest
{
    public partial class StartForm : Form
    {
        public StartForm()
        {
            InitializeComponent();
        }
 
 
        //修饰符  delegate  返回值类型  委托名 ( 参数列表 );
        private delegate void TIMEinvoke(int val);
 
        //委托显示客户端列表
        private void DataDisplay(int val)
        {
            if(this.InvokeRequired)
            {
                TIMEinvoke myIvoke = new TIMEinvoke(DataDisplay);
                this.Invoke(myIvoke,new object[] { val });
            }
            else
            {
                this.PBress.Value = val;
            }
        }

        //事件
        int times = 0;
        private void timerStart_Tick(object sender, EventArgs e)
        {
            times++;
            DataDisplay(times);
            if(times>=20)
            {
                PBress.Visible=false;
                //关闭timer控件
                timerStart.Enabled=false;
                this.Close();
            }
        }
        
        //窗体加载
        private void StartForm_Load(object sender, EventArgs e)
        {
            timerStart.Interval = 100;
            timerStart.Enabled=true;
            PBress.Visible=true;
            PBress.Maximum = 32;
        }
    }
}

在Program.cs里面加入代码:

namespace MVtest
{
    internal static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new StartForm());
            Application.Run(new MainForm());
        }
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • c#中Winform实现多线程异步更新UI(进度及状态信息)

    引言 在进行Winform程序开发需要进行大量的数据的读写操作的时候,往往会需要一定的时间,然在这个时间段里面,界面ui得不到更新,导致在用户看来界面处于假死的状态,造成了不好的用户体验.所以在大量数据操作的应用上,需要使用多线程来处理这种情况.在c#中使用多线程很方便只需要使用System.Threading.Thread的一个实例的Start方法就行了,但是如何实现多线程之间的交互就不是那么简单.本文实现了用子线程去处理数据,并实时更新主线程的ui状态了.下面就开始一步步的去实现异步线程更新

  • C#使用winform实现进度条效果

    本文实例为大家分享了C#使用winform实现进度条效果的具体代码,供大家参考,具体内容如下 1.例子 2.点击查询按钮代码 private void button8_Click(object sender, EventArgs e)         {             string orgid = string.Empty;             string scbz = string.Empty;             if (comboBox7.SelectedIndex =

  • C# Winform实现复制文件显示进度

    复制文件显示进度实际上就是文件流来复制文件,并在每一块文件复制后,用进度条来显示复制情况. 一.本实例中主要是以线程和委托的方式,在使用Filestream类对文件进行复制的同时,使用ProgressBar来显示文件复制进度,下面对本实例中用到的关键技术进行讲解. (1) 线程构造函数 该构造函数主要初始化Thread类的新实例.语法格式如下: public Thread(ThreadStart start); 参数说明: start:ThreadStart委托,它表示线程开始执行时要调用的方法

  • C# Winform下载文件并显示进度条的实现代码

    方法一: 效果如下图所示: 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WinShowDown { public partial class F

  • c#根据文件大小显示文件复制进度条实例

    初学者,照着书上的抄袭制作,但已经理解了里面的意思和应用,并且进行了稍微改善和异常捕捉.这里记录下,以防以后用到这方面的知识点. 窗体设计: code: 复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.

  • C# Winform实现进度条显示

    本文实例为大家分享了C# Winform实现进度条显示的具体代码,供大家参考,具体内容如下 创建一个窗体,命名为StartForm 添加一个timer控件并更改名字为timerStart 添加一个ProgressBar控件,并调整一下属性: StartForm窗体的代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Draw

  • Winform 实现进度条弹窗和任务控制

    最近要给一个 Winform 项目添加功能,需要一个能显示进度条的弹窗,还要求能够中止任务,所以就做了一个,在此做个记录总结.虽然用的是比较老的 Winform 技术,不过其中的原理都是相通的. 一.弹窗前台 首先提供一个 Winform 控件居中的小技巧: 将控件放在 TableLayoutPanel 容器中,然后将控件的 Anchor 属性设置为 None,这样控件就能在容器中居中了: 将容器的 Anchor 属性设置为 Top, Left, Right,这样容器就能随着窗口左右拉伸了: 最

  • Jquery和BigFileUpload实现大文件上传及进度条显示

    实现方法:用到了高山来客 的bigfileupload组件,用高山来客的方法,弹出一个模式窗口,然后不停刷新获取进度,始终觉得体验感不好,于是想到用jquery来实现无刷新进度显示,因为提交页面后, 不能让其刷新页面,而是要不断地通过ajax获取progress.aspx返回的进度信息,所以用到了jquery.form的ajaxform提交.ajaxform提交后如果执行提交后的事件,比如在数据库里插入记录,还在调试中. 1.用到了jquery 的 progressbar .form.MultF

  • ASP.NET实现用图片进度条显示投票结果

    一个投票功能模块少不了查看投票结果,用进度条显示各个投票结果可以起到一目了然的效果.以下是我的方法,请大家不吝赐教:  1:做一张图片用于做进度条,只需要很小的一个图片就可以了,如高20px,宽1px. 2:在要显示进度条的单元格中插入image控件,其imageUrl设置为已做好的图片的位置. 3:用一个dataReader对象dr保存取出的各项票数,用一个int 型变量sum保存取出的总票数,各项分别再定义一个double型变量用来保存单项票数除以(/)总票数的结果(小数),再定义一个int

  • Android 进度条显示在标题栏的实现方法

    好吧,先给大家展示效果图: xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" > <Butt

  • Android自定义多节点进度条显示的实现代码(附源码)

    亲们里面的线段颜色和节点图标都是可以自定义的. 在没给大家分享实例代码之前,先给大家展示下效果图: main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rl_parent" xmlns:tools="http://schemas.android.com/tools" android:layou

  • Android多线程+单线程+断点续传+进度条显示下载功能

    效果图 白话分析: 多线程:肯定是多个线程咯 断点:线程停止下载的位置 续传:线程从停止下载的位置上继续下载,直到完成任务为止. 核心分析: 断点: 当前线程已经下载的数据长度 续传: 向服务器请求上次线程停止下载位置的数据 con.setRequestProperty("Range", "bytes=" + start + "-" + end); 分配线程: int currentPartSize = fileSize / mThreadNum

  • Android实现支持进度条显示的短信备份工具类

    使用内容提供者读取短信内容,写入XML文件,进度条ProgressDialog更新备份进度. 新知识点:子线程如何在在不使用Handler的情况下更新UI /** * 进行短信备份的工具类,支持进度条显示 * @author lian * */ public class SmsBackupUtils { private static class Data{ int progress; } /** * * @param context * 调用此工具类的Activity * @param pd *

  • 在python tkinter中Canvas实现进度条显示的方法

    如下所示: from tkinter import * import time #更新进度条函数 def change_schedule(now_schedule,all_schedule): canvas.coords(fill_rec, (5, 5, 6 + (now_schedule/all_schedule)*100, 25)) root.update() x.set(str(round(now_schedule/all_schedule*100,2)) + '%') if round(

随机推荐