• 窗体重画(OnPaint)


    在做windows 窗体程序的时候,如果我们希望在窗体每次重画的时候都做一个事情,应该重写OnPaint这个虚方法。例如下面代码是在每次重画的时候都给窗体的背景刷上一个渐变的颜色。

            protected override void OnPaint(PaintEventArgs e)
            {
                base.OnPaint(e);
                if (this.WindowState != FormWindowState.Minimized)
                {
                    ///这是一个颜色渐变的刷子
                    LinearGradientBrush brush = new LinearGradientBrush(
                        ClientRectangle, 
                        Properties.Settings.Default.Color1,//来自配置的颜色
                        Properties.Settings.Default.Color2,//来自配置的颜色 
                        LinearGradientMode.Vertical);
    
                    Graphics graphics = this.CreateGraphics();
    
                    graphics.FillRectangle(brush, ClientRectangle);
                }
            }

    那么什么时候会需要重画呢?简单地说,窗体显示出来(Show),以及激活(Activate),以及调整大小(Resize)的时候,都会自动重画。而且,完整地说,重画是控件的一个通用行为。

    image

  • 相关阅读:
    关于 iOS 证书,你必须了解的知识
    Spark踩坑记:共享变量
    Python 操作 MySQL 的正确姿势
    【黑客浅析】像黑客一样思考
    利用 Flask+Redis 维护 IP 代理池
    程序员的江湖:从黑木崖到回龙观
    [NM 状态机1] Application状态机详解
    Hadoop 2.0 编译问题小结
    Yarn上的几个问题整理
    Yarn中如何生成状态机图
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1290301.html
Copyright © 2020-2023  润新知