【文件属性】:
文件名称:绘制和重绘-boost电路计算模版——mathcad
文件大小:5.1MB
文件格式:PDF
更新时间:2021-06-09 23:59:48
控件,.NET
图3.2 GDI+绘制示例
3.3 绘制和重绘
接着上面的话题,当窗体最小化或者隐藏时,操作系统就会将窗体的 UI 资源在内存中
释放掉,然后当窗体恢复时,操作系统会发送消息让窗体调用 Control.OnPaint()方法来
重新创建窗体 UI。这种架构之所以这样处理,是由于以前的计算机资源不像现在这样比较“富
裕”,图形资源占用大量的内存等资源,如果不及时释放掉,会严重消耗掉内存。如果有一
个窗体被另外一个窗体遮挡住一部分,那么被遮挡区域的控件将被重绘。
因此,基于历史遗留的架构设计,对于窗体或者控件的绘制逻辑建议放在 Paint事件中,
放在其他地方往往不能按照预期进行绘制。那么又一个问题来了,如果我们就是需要在其他
方法中调用绘图逻辑,那该怎么办呢?其实解决方法是将绘图逻辑依然放在 Paint事件,其
他方法可以配置相关属性,然后通过 Invalidate()来调用 Paint事件进行绘图即可。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace GDIDemo
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();