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

📄 xlabel1.cs

📁 破解的飞信源代码
💻 CS
字号:
namespace Imps.Client.Pc.Controls
{
    using System;
    using System.ComponentModel;
    using System.Drawing;
    using System.Drawing.Design;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;

    [DefaultProperty("Text"), DefaultBindingProperty("Text"), ClassInterface(ClassInterfaceType.AutoDispatch), ComVisible(true)]
    public class XLabel1 : XControlBase
    {
        private bool _autoEllipsis;
        private ContentAlignment _textAlign = ContentAlignment.TopLeft;
        private bool _useMnemonic;
        private int paint;

        protected override void AdjustSize()
        {
            if (this.get_AutoSize() || (((this.Anchor & (AnchorStyles.Right | AnchorStyles.Left)) != (AnchorStyles.Right | AnchorStyles.Left)) && ((this.Anchor & (AnchorStyles.Bottom | AnchorStyles.Top)) != (AnchorStyles.Bottom | AnchorStyles.Top))))
            {
                try
                {
                    Size size = base.Size;
                    if (this.get_AutoSize())
                    {
                        if (base.Parent == null)
                        {
                            return;
                        }
                        base.Parent.CreateGraphics();
                        Size size2 = TextRenderer.MeasureText(this.Text, this.Font);
                        size2.Width += 2;
                        if (this.BorderStyle == BorderStyle.Fixed3D)
                        {
                            size2.Height += 4;
                            size2.Width += 4;
                        }
                        if (this.BorderStyle == BorderStyle.FixedSingle)
                        {
                            size2.Height += 2;
                            size2.Width += 2;
                        }
                        size2.Width += base.get_Padding().get_Left() + base.get_Padding().get_Right();
                        size2.Height += base.get_Padding().get_Top() + base.get_Padding().get_Bottom();
                        if (size2.Width > base.Width)
                        {
                            size.Width = Convert.ToInt32(size2.Width);
                        }
                        else if (this.get_AutoSize())
                        {
                            size.Width = Convert.ToInt32(size2.Width);
                        }
                        if (size2.Height > base.Height)
                        {
                            size.Height = Convert.ToInt32(size2.Height);
                        }
                        else if (this.get_AutoSize())
                        {
                            size.Height = Convert.ToInt32(size2.Height);
                        }
                    }
                    if (size != base.Size)
                    {
                        base.Size = size;
                    }
                }
                catch (Exception)
                {
                }
            }
        }

        protected override void OnAutoSizeChanged(EventArgs e)
        {
            base.OnAutoSizeChanged(e);
            this.AdjustSize();
            base.Invalidate();
        }

        protected override void OnForeColorChanged(EventArgs e)
        {
            base.OnForeColorChanged(e);
            this.AdjustSize();
            base.Invalidate();
        }

        protected override void OnPaddingChanged(EventArgs e)
        {
            base.OnPaddingChanged(e);
            this.AdjustSize();
            base.Invalidate();
        }

        protected override void OnPaintControl(PaintEventArgs e)
        {
            base.OnPaintControl(e);
            Rectangle rectangle = XControlHelper.GetWorkRectangle(e.ClipRectangle, base.get_Padding(), this.BorderStyle);
            TextFormatFlags textFormat = this.TextFormat;
            if (base.Enabled)
            {
                TextRenderer.DrawText((IDeviceContext) e.Graphics, this.Text, this.Font, rectangle, this.ForeColor, textFormat);
            }
            else
            {
                ControlPaint.DrawStringDisabled((IDeviceContext) e.Graphics, this.Text, this.Font, this.BackColor, rectangle, textFormat);
            }
        }

        protected override void OnParentChanged(EventArgs e)
        {
            base.OnParentChanged(e);
        }

        protected override void OnSizeChanged(EventArgs e)
        {
            base.OnSizeChanged(e);
            this.AdjustSize();
        }

        protected override void OnStyleChanged(EventArgs e)
        {
            base.OnStyleChanged(e);
            this.AdjustSize();
            base.Invalidate();
        }

        protected override void OnTextChanged(EventArgs e)
        {
            base.OnTextChanged(e);
            this.AdjustSize();
            base.Invalidate();
        }

        [Category("行为"), Description("扩展到标签以外的样式处理")]
        public virtual bool AutoEllipsis
        {
            get
            {
                return this._autoEllipsis;
            }
            set
            {
                this._autoEllipsis = value;
                base.Invalidate();
            }
        }

        [DefaultValue(false), EditorBrowsable(EditorBrowsableState.Always), RefreshProperties(RefreshProperties.All), Localizable(true), Browsable(true), Category("布局"), Description("是否自动调整大小"), DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
        public override bool AutoSize
        {
            get
            {
                return base.get_AutoSize();
            }
            set
            {
                if (this.get_AutoSize() != value)
                {
                    base.set_AutoSize(value);
                }
            }
        }

        [SettingsBindable(true), Editor("System.ComponentModel.Design.MultilineStringEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
        public override string Text
        {
            get
            {
                return base.Text;
            }
            set
            {
                base.Text = value;
            }
        }

        [Category("外观"), Description("确认标签中文本的位置")]
        public ContentAlignment TextAlign
        {
            get
            {
                return this._textAlign;
            }
            set
            {
                if (this._textAlign != value)
                {
                    this._textAlign = value;
                    base.Invalidate();
                }
            }
        }

        internal TextFormatFlags TextFormat
        {
            get
            {
                TextFormatFlags flags = this.AutoEllipsis ? ((TextFormatFlags) 0x8000) : ((TextFormatFlags) 0x10);
                ContentAlignment textAlign = this.TextAlign;
                if (textAlign <= ContentAlignment.MiddleCenter)
                {
                    switch (textAlign)
                    {
                        case ContentAlignment.TopLeft:
                            return flags;

                        case ContentAlignment.TopCenter:
                            flags = flags;
                            return (flags | 1);

                        case (ContentAlignment.TopCenter | ContentAlignment.TopLeft):
                            return flags;

                        case ContentAlignment.TopRight:
                            flags = flags;
                            return (flags | 2);

                        case ContentAlignment.MiddleLeft:
                            return (flags | 4);

                        case ContentAlignment.MiddleCenter:
                            flags |= 4;
                            return (flags | 1);
                    }
                    return flags;
                }
                if (textAlign <= ContentAlignment.BottomLeft)
                {
                    switch (textAlign)
                    {
                        case ContentAlignment.MiddleRight:
                            flags |= 4;
                            return (flags | 2);

                        case ContentAlignment.BottomLeft:
                            return (flags | 8);
                    }
                    return flags;
                }
                if (textAlign != ContentAlignment.BottomCenter)
                {
                    if (textAlign != ContentAlignment.BottomRight)
                    {
                        return flags;
                    }
                }
                else
                {
                    flags |= 8;
                    return (flags | 1);
                }
                flags |= 8;
                return (flags | 2);
            }
        }

        [Description("如果为true,则内容里&后面文本会作为辅助键!暂时还没有实现 FMJ"), Category("外观")]
        public bool UseMnemonic
        {
            get
            {
                return this._useMnemonic;
            }
            set
            {
                this._useMnemonic = value;
            }
        }
    }
}

⌨️ 快捷键说明

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