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

  • 相关阅读:
    PHP生成xml 无法识别或是无法读取或是浏览器不识别等问题
    关于PHP 采集类
    Centos7 下安装Docke
    Git使用之设置SSH Key
    yii2.0中Rbac 怎么添加超加管理员
    Undefined index: HTTP_RAW_POST_DATA的解决办法
    window下phpstudy的nginx配置虚拟主机
    yii2.0中添加二维数组,多条数据。
    预防onion比特币勒索病毒,如何快速关闭135,137,138,139,445端口
    github与git之间怎么建立连接
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1290301.html
Copyright © 2011-2022 走看看