zoukankan      html  css  js  c++  java
  • Enabled设置为False时,前景色和背景色也不改变的TextBox 并居中

    1.公共方法

        public class MyTextBox : TextBox
        {
            
    protected override void OnEnabledChanged(EventArgs e)
            {
                
    base.OnEnabledChanged(e);
                
    //设置Enabled为False时
                if (this.Enabled)
                {
                    
    this.SetStyle(ControlStyles.UserPaint, false);
                   
                }
                
    else
                    
    this.SetStyle(ControlStyles.UserPaint, true);
                
    //再描绘
                this.Invalidate();
            }

            
    //描绘TextBox
            protected override void OnPaint(PaintEventArgs e)
            {
                
    base.OnPaint(e);
                System.Drawing.Brush b 
    =
                    
    new System.Drawing.SolidBrush(this.ForeColor);

                StringFormat sf 
    = new StringFormat();
                sf.LineAlignment 
    = StringAlignment.Center;
                sf.Alignment 
    = StringAlignment.Center;
                
    //描绘字符串
                
    //e.Graphics.DrawString(this.Text, this.Font, b, -1, 1);
                e.Graphics.DrawString(this.Text, this.Font, b, this.ClientRectangle, sf);

                b.Dispose();
            }
        }

    2.页面 designer.cs修改为 MyTextBox

  • 相关阅读:
    C# 去重处理字符大小写
    javascript 面向对象之路.2
    C# 如何批量修改集合元素的属性值?
    javascript 面向对象之路.1
    .NET 黑魔法
    C# 语言
    .NET 黑魔法
    .NET 黑魔法
    .NET 黑魔法
    lumisoft.net 邮件管理系列文章
  • 原文地址:https://www.cnblogs.com/dodui/p/1916313.html
Copyright © 2011-2022 走看看