亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? progress.cs

?? 對(duì)ima、imz壓縮文件修改
?? CS
?? 第 1 頁 / 共 3 頁
字號(hào):
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace ProgressDialog
{
    /// <summary>
    /// This defines an interface which can be implemented by UI elements
    /// which indicate the progress of a long operation.
    /// (See ProgressWindow for a typical implementation)
    /// </summary>
    internal interface IProgressCallback
    {
        /// <summary>
        /// Call this method from the worker thread to initialize
        /// the progress callback, without setting the range
        /// </summary>
        void Begin();
        /// <summary>
        /// Call this method from the worker thread to initialize
        /// the progress callback.
        /// </summary>
        /// <param name="minimum">The minimum value in the progress range (e.g. 0)</param>
        /// <param name="maximum">The maximum value in the progress range (e.g. 100)</param>
        void Begin(int minimum, int maximum);
        /// <summary>
        /// Call this method from the worker thread to initialize
        /// the progress callback, and control whether or not the 
        /// user can cancel the operation.
        /// </summary>
        void Begin(bool AllowCancel);

        /// <summary>
        /// Call this method from the worker thread to finalize the progress meter
        /// </summary>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void End();

        /// <summary>
        /// Call this method from the worker thread to update the form caption.
        /// </summary>
        /// <param name="text">The caption text to display</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void SetCaption(String text);
        /// <summary>
        /// Call this method from the worker thread to update the progress text.
        /// </summary>
        /// <param name="text">The progress text to display</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void SetText(String text);

        /// <summary>
        /// Call this method from the worker thread to reset the range in the progress callback
        /// for the primary progress bar.
        /// </summary>
        /// <param name="minimum">The minimum value in the progress range (e.g. 0)</param>
        /// <param name="maximum">The maximum value in the progress range (e.g. 100)</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void SetRange_Primary(int minimum, int maximum);
        /// <summary>
        /// Call this method from the worker thread to increase the progress counter by a specified value
        /// for the primary progress bar.
        /// </summary>
        /// <param name="val">The amount by which to increment the progress indicator</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void StepTo_Primary(int val);
        /// <summary>
        /// Call this method from the worker thread to step the progress meter to a particular value
        /// for the primary progress bar.
        /// </summary>
        /// <param name="val">The value to which to step the meter</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void Increment_Primary(int val);

        /// <summary>
        /// Call this method from the worker thread to reset the range in the progress callback
        /// for the secondary progress bar.
        /// </summary>
        /// <param name="minimum">The minimum value in the progress range (e.g. 0)</param>
        /// <param name="maximum">The maximum value in the progress range (e.g. 100)</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void SetRange_Secondary(int minimum, int maximum);
        /// <summary>
        /// Call this method from the worker thread to increase the progress counter by a specified value
        /// for the secondary progress bar.
        /// </summary>
        /// <param name="val">The amount by which to increment the progress indicator</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void StepTo_Secondary(int val);
        /// <summary>
        /// Call this method from the worker thread to step the progress meter to a particular value
        /// for the secondary progress bar.
        /// </summary>
        /// <param name="val">The value to which to step the meter</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        void Increment_Secondary(int val);

        /// <summary>
        /// If this property is true, then you should abort work
        /// </summary>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        bool IsAborting
        {
            get;
        }

        bool IsInitialized
        {
            get;
        }

        int Stages
        {
            get;
        }

    }
    /// <summary>
    /// Summary description for ProgressWindow.
    /// </summary>
    internal class ProgressWindow : System.Windows.Forms.Form, IProgressCallback
    {
        private System.Windows.Forms.Button cancelButton;
        private System.Windows.Forms.Label label;
        private System.Windows.Forms.ProgressBar prgPrimary;

        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public delegate void SetTextInvoker(String text);
        public delegate void IncrementInvoker(int val);
        public delegate void StepToInvoker(int val);
        public delegate void RangeInvoker(int minimum, int maximum);
        public delegate void CancelInvoker(bool AllowCancel);

        private System.Threading.ManualResetEvent initEvent = new System.Threading.ManualResetEvent(false);
        private System.Threading.ManualResetEvent abortEvent = new System.Threading.ManualResetEvent(false);
        private String titleRoot = "";
        private bool requiresClose = true;
        private bool initialized = false;

        public ProgressWindow()
        {
            // Required for Windows Form Designer support
            InitializeComponent();
        }

        #region Implementation of IProgressCallback
        /// <summary>
        /// Call this method from the worker thread to initialize
        /// the progress callback, without setting the range
        /// </summary>
        public void Begin()
        {
            initEvent.WaitOne();
            Invoke(new MethodInvoker(DoBegin));
        }
        /// <summary>
        /// Call this method from the worker thread to initialize
        /// the progress meter.
        /// </summary>
        /// <param name="minimum">The minimum value in the progress range (e.g. 0)</param>
        /// <param name="maximum">The maximum value in the progress range (e.g. 100)</param>
        public void Begin(int minimum, int maximum)
        {
            initEvent.WaitOne();
            Invoke(new RangeInvoker(DoBegin), new object[] { minimum, maximum });
        }
        /// <summary>
        /// Call this method from the worker thread to initialize
        /// the progress meter.
        /// </summary>
        /// <param name="AllowCancel">A boolean value that determines whether or not the cancel button is displayed.</param>
        public void Begin(bool AllowCancel)
        {
            initEvent.WaitOne();
            Invoke(new CancelInvoker(DoBegin), new object[] { AllowCancel });
        }

        /// <summary>
        /// Call this method from the worker thread to finalize the progress meter
        /// </summary>
        public void End()
        {
            if (requiresClose)
            {
                Invoke(new MethodInvoker(DoEnd));
            }
        }

        /// <summary>
        /// Call this method from the worker thread to update the form's caption.
        /// </summary>
        /// <param name="text">The caption text to display</param>
        public void SetCaption(String text)
        {
            Invoke(new SetTextInvoker(DoSetCaption), new object[] { text });
        }
        /// <summary>
        /// Call this method from the worker thread to update the progress text.
        /// </summary>
        /// <param name="text">The progress text to display</param>
        public void SetText(String text)
        {
            Invoke(new SetTextInvoker(DoSetText), new object[] { text });
        }

        /// <summary>
        /// Call this method from the worker thread to reset the range in the progress callback
        /// </summary>
        /// <param name="minimum">The minimum value in the progress range (e.g. 0)</param>
        /// <param name="maximum">The maximum value in the progress range (e.g. 100)</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        public void SetRange_Primary(int minimum, int maximum)
        {
            initEvent.WaitOne();
            Invoke(new RangeInvoker(DoSetRange_Primary), new object[] { minimum, maximum });
        }
        /// <summary>
        /// Call this method from the worker thread to increase the progress counter by a specified value.
        /// </summary>
        /// <param name="val">The amount by which to increment the progress indicator</param>
        public void Increment_Primary(int val)
        {
            Invoke(new IncrementInvoker(DoIncrement), new object[] { val });
        }
        /// <summary>
        /// Call this method from the worker thread to step the progress meter to a particular value.
        /// </summary>
        /// <param name="val"></param>
        public void StepTo_Primary(int val)
        {
            Invoke(new StepToInvoker(DoStepTo), new object[] { val });
        }

        /// <summary>
        /// Call this method from the worker thread to reset the range in the progress callback
        /// for the secondary progressbar
        /// </summary>
        /// <param name="minimum">The minimum value in the progress range (e.g. 0)</param>
        /// <param name="maximum">The maximum value in the progress range (e.g. 100)</param>
        /// <remarks>You must have called one of the Begin() methods prior to this call.</remarks>
        public void SetRange_Secondary(int minimum, int maximum) { return; }
        /// <summary>
        /// Call this method from the worker thread to increase the progress counter by a specified value.
        /// </summary>
        /// <param name="val">The amount by which to increment the progress indicator</param>
        public void Increment_Secondary(int val) { return; }
        /// <summary>
        /// Call this method from the worker thread to step the progress meter to a particular value.
        /// </summary>
        /// <param name="val"></param>
        public void StepTo_Secondary(int val) { return; }

        /// <summary>
        /// If this property is true, then you should abort work
        /// </summary>
        public bool IsAborting
        {
            get { return abortEvent.WaitOne(0, false); }
        }
        public bool IsInitialized
        {
            get { return initialized; }
        }
        public int Stages { get { return 1; } }
        #endregion

        #region Implementation members invoked on the owner thread
        private void DoBegin()
        {
            titleRoot = Text;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷久久一区二区三区麻豆| 中文字幕一区二区视频| 99精品视频在线免费观看| 国产精品亚洲午夜一区二区三区| 日韩av成人高清| 欧美a一区二区| 蜜臀a∨国产成人精品| 免费高清成人在线| 免费欧美高清视频| 国产一区二区看久久| 国产精品一区二区三区网站| 国产精品1区2区3区在线观看| 韩国三级电影一区二区| 国产在线观看免费一区| 国产大陆亚洲精品国产| www.亚洲精品| 欧美三级欧美一级| 欧美一级一级性生活免费录像| 日韩一级黄色大片| 久久午夜色播影院免费高清| 国产欧美精品一区二区色综合 | 欧美亚洲丝袜传媒另类| 欧美色网站导航| 欧美精品一级二级| 久久色视频免费观看| 国产精品国产三级国产aⅴ入口| 一区二区三区在线影院| 男男成人高潮片免费网站| 国产一区二三区| 色综合网站在线| 91精品国产综合久久久久久漫画| 久久蜜桃一区二区| 亚洲免费毛片网站| 青青草一区二区三区| 国产精品一二二区| 欧美日韩中文字幕一区| 久久看人人爽人人| 一区二区三区精品| 国产美女在线观看一区| 色吧成人激情小说| 久久久精品tv| 午夜精品爽啪视频| youjizz国产精品| 欧美久久高跟鞋激| 国产精品人妖ts系列视频| 亚洲成a人在线观看| 国产 欧美在线| 欧美一卡二卡在线| 夜夜嗨av一区二区三区中文字幕| 狠狠狠色丁香婷婷综合久久五月| 欧美影视一区在线| 国产精品久久久久久久午夜片| 视频一区中文字幕| 91福利在线免费观看| 国产亚洲欧美在线| 裸体一区二区三区| 欧美日韩在线一区二区| 亚洲视频一区二区免费在线观看| 蜜桃久久久久久久| 欧美色精品在线视频| 国产精品精品国产色婷婷| 国产一区二区在线观看免费| 欧美色男人天堂| 亚洲夂夂婷婷色拍ww47| 色悠久久久久综合欧美99| 国产精品久久久久久福利一牛影视| 理论片日本一区| 欧美福利电影网| 天天影视网天天综合色在线播放 | 亚洲高清在线精品| 成人av集中营| 日本一区二区三区四区| 国产一区二区三区久久久 | 久久久久久久久久美女| 久久国内精品视频| 精品人在线二区三区| 久久成人羞羞网站| 欧美大尺度电影在线| 精品一区二区三区免费播放| 欧美一级高清片| 蜜桃av一区二区在线观看| 日韩欧美综合在线| 精品一区二区三区在线视频| 久久夜色精品国产欧美乱极品| 韩国欧美国产一区| 久久精品亚洲麻豆av一区二区| 国产乱码一区二区三区| 国产欧美一区二区三区沐欲| 国产东北露脸精品视频| 中文字幕一区二区三区蜜月| 91免费视频大全| 午夜久久电影网| 欧美成人vps| 粉嫩aⅴ一区二区三区四区| 国产精品国产三级国产aⅴ入口| 91丨porny丨最新| 亚洲成人在线观看视频| 欧美一区日韩一区| 国产sm精品调教视频网站| 综合久久综合久久| 7777精品伊人久久久大香线蕉最新版| 日本不卡123| 国产精品乱人伦| 欧洲日韩一区二区三区| 秋霞电影一区二区| 国产精品久久久久影院色老大 | 亚洲制服欧美中文字幕中文字幕| 欧美一级在线免费| 成人精品视频一区| 日韩高清一级片| 久久久精品影视| 欧美视频中文一区二区三区在线观看| 日本亚洲视频在线| 亚洲图片欧美激情| 日韩精品专区在线影院观看 | 偷拍亚洲欧洲综合| 26uuu久久综合| 欧美亚一区二区| 国产99久久精品| 免费在线观看一区| 亚洲精品国产a| 国产色婷婷亚洲99精品小说| 欧美色图第一页| 懂色av噜噜一区二区三区av| 午夜天堂影视香蕉久久| 国产精品日日摸夜夜摸av| 国产精品久久久久永久免费观看 | 有码一区二区三区| 在线播放91灌醉迷j高跟美女| 国产真实乱偷精品视频免| jizzjizzjizz欧美| 蜜臀av亚洲一区中文字幕| 亚洲精品日韩专区silk| 欧美激情综合网| 欧美日韩国产综合视频在线观看| 久久99精品久久只有精品| 亚洲成人自拍网| 亚洲三级在线看| 国产精品麻豆久久久| 精品国产乱码久久久久久闺蜜| 欧美午夜精品一区二区蜜桃| 91色在线porny| 99视频精品在线| 成人网在线免费视频| 美腿丝袜亚洲色图| 午夜久久久久久久久| 天堂影院一区二区| 亚洲va国产va欧美va观看| 一区二区三区色| 亚洲精品久久7777| 国产精品美女久久久久av爽李琼| 7878成人国产在线观看| 欧美一区二区人人喊爽| 91.com视频| 精品久久久久久最新网址| 日韩欧美在线网站| 欧美一区三区二区| 91精品久久久久久久久99蜜臂| 欧美欧美欧美欧美| 6080yy午夜一二三区久久| 欧美一区国产二区| 久久亚洲欧美国产精品乐播| 日韩一区二区在线观看视频播放| 3atv在线一区二区三区| 欧美高清激情brazzers| 日韩一卡二卡三卡国产欧美| 2021久久国产精品不只是精品| 久久新电视剧免费观看| 国产精品午夜春色av| 亚洲精品视频一区二区| 五月天精品一区二区三区| 麻豆精品新av中文字幕| 成人一道本在线| 日本久久电影网| 91麻豆精品国产自产在线 | 国产精品污污网站在线观看| 国产精品久久久久久一区二区三区| 亚洲人成网站在线| 日韩国产欧美三级| 成熟亚洲日本毛茸茸凸凹| 日本久久电影网| 久久亚洲影视婷婷| 一区二区理论电影在线观看| 男女性色大片免费观看一区二区| 国产真实乱偷精品视频免| 色婷婷综合久色| 精品国产污网站| 一区二区三区四区在线免费观看| 日韩精品一二区| 成人开心网精品视频| 日韩一区二区三免费高清| 国产精品国产三级国产aⅴ中文| 五月天视频一区| 99r国产精品| 精品日韩一区二区三区免费视频| 综合久久综合久久| 国产在线播放一区| 69堂成人精品免费视频| 亚洲视频狠狠干| 国产精品一二三|