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

  • 相关阅读:
    test
    TCP/IP状态转换图
    用Python操作Excel,实现班级成绩的统计
    树莓派介绍和安装树莓派系统遇到的坑,好痛苦啊
    Eclipse-jee-oxygen-3A版运行时出现Could not create the Java virtual machine?
    eclipse搭建简单的web服务,使用tomcat服务
    嵌入式【杂记--手机芯片与pc】
    tomcat启动不了?
    Selenium的使用
    使用PhantomJS
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1290301.html
Copyright © 2011-2022 走看看