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# 之委托
    Java Maven安装及配置,利用Maven创建项目
    Java DecimalFormat四舍五入的坑及正确用法
    Java 解析XML的几种方式:DOM、SAX、JDOM和DOM4J。
    Java Properties配置文件和XML配置文件读取
    Java Map一些基本使用方法
    JAVA for循环的几种用法
    鼠标及键盘操作
    控制浏览器
    元素定位
  • 原文地址:https://www.cnblogs.com/dodui/p/1916313.html
Copyright © 2011-2022 走看看