⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tsprogressbar.cs

📁 章立民-visual stadio 2005 c#编程技巧
💻 CS
字号:
using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Windows.Forms.Design;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Drawing;

namespace CH9
{
    [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.StatusStrip | ToolStripItemDesignerAvailability.ToolStrip)]
    public partial class tsProgressbar : ToolStripLabel
    {
        public tsProgressbar()
        {
            InitializeComponent();
        }

        int _value = 0;
        private LinearGradientBrush _barBrush;
        private Rectangle _borderBounds;
        private Rectangle _valueBounds;
        Color _startColor = ProfessionalColors.SeparatorDark;
        Color _endColor = ProfessionalColors.SeparatorLight;
        Color _fontColor = ProfessionalColors.OverflowButtonGradientEnd;

        [DefaultValue(0)]
        public int Value
        {
            get
            {
                return this._value;
            }

            set
            {
                this._value = value;
                this.Invalidate();
            }
        }

        private Rectangle BorderBounds
        {
            get
            {
                if(_borderBounds == Rectangle.Empty)
                {
                    _borderBounds = new Rectangle(0, 0, this.Bounds.Width - 1, this.Bounds.Height - 1);
                }

                return _borderBounds;
            }
        }

        private Rectangle ValueBounds
        {
            get
            {
                if (_valueBounds == Rectangle.Empty)
                {
                    _valueBounds = Rectangle.Inflate(BorderBounds, -2, -2);
                }

                return _valueBounds;
            }
        }

        private LinearGradientBrush BarBrush
        {
            get
            {
                if(_barBrush == null)
                {
                    _barBrush = new LinearGradientBrush(BorderBounds, _startColor, _endColor, LinearGradientMode.Vertical);
                }

                return _barBrush;
            }

            set
            {
                _barBrush = value;
            }
        }

        protected override Padding DefaultPadding
        {
            get
            {
                Padding p = base.DefaultPadding;
                return new Padding(50, p.Top, 50, p.Bottom);
            }
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            // 磞酶娩

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -