zoukankan      html  css  js  c++  java
  • (C#)Winform修改DateTimePicker控件的背景色

    (C#)Winform修改DateTimePicker控件的背景色Winform中日期控件DateTimePicker默认是不能修改背景色的,如果想要改变它的背景色那也是有办法的,只需要继承DateTimePicker做一个自定义控件,再重写WndProc方法。此外还要重写BackColor属性,这样就可以在外部修改它的颜色了。
    
          自定义控件的完整代码如下:
     public class UCDateTime : DateTimePicker
        {
            const int WM_ERASEBKGND = 0x14;
    
            private Color _backColor;
    
            public override Color BackColor
            {
                get { return _backColor; }
                set { _backColor = value; }
            }
    
            protected override void WndProc(ref System.Windows.Forms.Message m)
            {
                if (m.Msg == WM_ERASEBKGND)
                {
                    Graphics g = Graphics.FromHdc(m.WParam);
                    g.FillRectangle(new SolidBrush(_backColor), ClientRectangle);
                    g.Dispose();
                    return;
                }
    
                base.WndProc(ref m);
            }
        }
    在修改了背景颜色之后要调用Invalidate()方法,具体使用如下:
      ucDateTime1.BackColor = Color.Red;
                ucDateTime1.Invalidate();
  • 相关阅读:
    mysql常用命令
    CSS样式
    定位
    background
    文本属性和字体属性
    超链接导航案例
    margin塌陷
    浮动
    GIT 修改提交地址
    VUE ElementUI 表格多选框实现单选
  • 原文地址:https://www.cnblogs.com/goto/p/2844578.html
Copyright © 2011-2022 走看看