zoukankan      html  css  js  c++  java
  • 窗体重画(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

  • 相关阅读:
    面试题目以及注意事项
    jQuery Ajax 实例 ($.ajax、$.post、$.get)
    前端知识大全
    jquery实现2级联动
    [转]那些年我们一起清除过的浮动
    使用kubeadm在CentOS上搭建Kubernetes1.14.3集群
    企业优秀运维人员20道必会iptables面试题
    通过nginx日志利用shell统计日pv和uv
    php访问mysql接口pdo-mysql安装
    何查看已经安装的nginx、apache、mysql和php的编译参数
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1290301.html
Copyright © 2011-2022 走看看