wpf使用进度条,趣味学习

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 进度条Again
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Enabled = false;
            button2.Enabled = false;
            button3.Enabled = false;
        }
        private bool isok=true;
        private void button1_Click(object sender, EventArgs e)//开始按钮
        {
            if(string.IsNullOrWhiteSpace(textBox1.Text))
            {
                return;
            }
            else
            {
                button2.Enabled = true;
                button3.Enabled = true;
                toolStripProgressBar1.Value = 0;//进度条当前值为0
                toolStripProgressBar1.Minimum = 0;//进度条最小值为0
                toolStripProgressBar1.Maximum = Convert.ToInt32(textBox1.Text);//进度条最大值为文本框1输入的数
                timer1.Enabled = true;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)//当文本框1文本改变的时候button1才可以用
        {
            button1.Enabled = true;
        }

        private void button2_Click(object sender, EventArgs e)//暂停
        {
            if (button2.Text == "暂停")
            {
                timer1.Enabled = false;
                button2.Text = "继续";
                textBox2.AppendText(DateTime.Now.ToString("HH:mm:ss") + "进度暂停" + "\r\n");
            }
            else
            {
                timer1.Enabled = true;
                button2.Text = "暂停";
                textBox2.AppendText(DateTime.Now.ToString("HH:mm:ss") + "进度继续" + "\r\n");
            }

        }

        private void button3_Click(object sender, EventArgs e)//停止
        {
            timer1.Enabled = false;
            toolStripProgressBar1.Value = 0;
            textBox2.Text = "";
            textBox1.Text = "";
            button1.Enabled = false;
            button2.Enabled = false;
            button3.Enabled = false;

        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (toolStripProgressBar1.Value < toolStripProgressBar1.Maximum)//如果进度条当前的值小于进度条最大的值
            {
                toolStripProgressBar1.Value++;//就把进度条的当前值++
                textBox2.AppendText(DateTime.Now.ToString("HH:mm:ss") + "当前进度为[" + toolStripProgressBar1.Value + "/" + toolStripProgressBar1.Maximum + "]...." + "\r\n");//拼接字符串

            }
            else
            {
                textBox2.Text = "";
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}
时间: 2024-10-07 05:17:01

wpf使用进度条,趣味学习的相关文章

quick-cocos2d-x 加载进度条的学习

先上quick代码: 1 --[[创建扇形的进度加载条]] 2 3 --创建进度动作的Action(进度时间,最终比例) 4 local to1 = CCProgressTo:create(1, 100) 5 6 --传入作为进度条用的精灵,创建ProgressTimer 7 local pTimer = CCProgressTimer:create(CCSprite:create(s_pPathSister1)) 8 pTimer:setType(kCCProgressTimerTypeRad

wpf 水波进度条 用户控件

之前看公司web前端做了个 圆形的水波纹 进度条,就想用wpf 做一个,奈何自己太菜 一直做不出来,在看过 “普通的地球人” 的 “ WPF实现三星手机充电界面 博客之后 我也来照葫芦画个瓢. 废话不多说 先贴一下效果图 虽然样子 low 了些 但是基本满足我的需求了,下面是代码 前端 <UserControl x:Class="WaveProgress.UserControl.WaveProgressControl" xmlns="http://schemas.mic

WPF 圆形进度条(一):整体框架

看了浸水的WPF 实现圆形进度条这篇文章,突发灵感,决定自己做一个圆形进度条(用户控件),名为LoadingRing. 首先,圆形进度条必定有一个Ellipse(这简直就是废话),所以需要一个Ellipse. 为了好看,我把它设为灰色并且半透明. 接着需要填充部分的控件,开始我想用Ellipse,并用StrokeDashArray来填充的,但是后来发现使用StrokeDashArray就难以使用动画.折腾半天,还是在Blend使用Arc形状好了.Arc中的StartAngle指定弧线的起始处,以

Android的ProgressBar进度条-android学习之旅(三十一)

ProgressBar 简介 ProgressBar是一种很常用的Ui,用于给复杂的操作显示进度,提供更好的用户相应.使用setProgress()incrementProgressBy()来设置进度和显示进度的增加或减少,正数表示增加,负数表示减少. ProgressBar的风格 ProgressBar 代码示例 布局代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns

WPF 自定义进度条(二)

前台请见前一章节 后台代码: /// <summary> /// ProgressBarControl.xaml 的交互逻辑 /// </summary> public partial class ProgressBarControl : UserControl { public ProgressBarControl() { InitializeComponent(); } private void ProgressBarControl_OnLoaded(object sender

wpf silder进度条的样式模板,带有进度颜色显示

效果图: 只需在前台加上这段代码即可: <UserControl.Resources> <!--笔刷--> <LinearGradientBrush x:Key="SliderBackground" StartPoint="0,0" EndPoint="0,1"> <GradientStop Offset="0" Color="#59ccfc"/> <G

WPF 进度条ProgressBar

今天研究了一下wpf的进度条ProgressBar 1.传统ProgressBar WPF进度条ProgressBar 这个控件,如果直接写到循环里,会死掉,界面会卡死,不会有进度.需要把进度条放到单独的线程中. 传统的需要建立 Thread 或者使用 Timer,分别写在不同的方法中.但现在,使用 Dispatcher.Invoke 调用可以实现这个目的. for (int i = 0; i <= 10000; i++)            {                double v

WPF利用动画实现圆形进度条

这是我的第一篇随笔,最近因为工作需要,开始学习WPF相关技术,自己想实现以下圆形进度条的效果,逛了园子发现基本都是很久以前的文章,实现方式一般都是GDI实现的,想到WPF中动画效果不错,于是自己研究了一下,还真让我做出来了,废话不多说了,先上效果. 这个效果是不是还不错?这里面实现了数字实时显示以及根据进度进行自动渐变的效果.实现原理其实很简单,利用WPF动画,其中主要元素有border(实现里外层圆的效果),Arc扇面(就是用来实现外层填充效果的),Label(用来显示进度百分比). 1.实现

WPF进度条系列②旋转小圆圈

 写在之前: 关于WPF的样式,我也是学习了很多朋友的文章才有了下面的东西,因为时间有些久远 & 备份的链接也都不在了. 所以,究竟是看过哪些文章,也是记不清楚了…… 请见谅. --------------------------------我是害羞的分割线----------------------------------- 旋转小圆圈进度条见效果: xaml: <UserControl x:Class="AppHost.ProbarRotate" xmlns=&quo