目录

一、涉及到的知识点

1.设置窗体的背景图

2.加载窗体背景图

3.清空窗体的背景图

二、 示例


一、涉及到的知识点

1.设置窗体的背景图

        详见本文作者的其他文章:C#手动改变自制窗体的大小-CSDN博客  https://wenchm.blog.csdn.net/article/details/137027140

2.加载窗体背景图

        详见本文作者的其他文章:C#手动改变自制窗体的大小-CSDN博客  https://wenchm.blog.csdn.net/article/details/137027140

        推荐使用下列方法:

/// <summary>
/// 加载初始背景图片
/// </summary>
private void Form1_Load(object? sender, EventArgs e)
{
    BackgroundImage = Properties.Resources.test;
    BackgroundImageLayout = ImageLayout.Tile;
}

3.清空窗体的背景图

        graphics.Clear() 方法用于清除指定的 Graphics 对象的背景。这个方法接受一个 Color 类型的参数,它指定了要使用的颜色,例如使用了Color.BlueViolet 作为参数,这意味着当调用 graphics.Clear(Color.BlueViolet) 时,窗体的背景将被清除并设置为蓝紫色。
        graphics.Clear() 方法通常用于在开始绘制之前清空画布或窗体的背景。如果不调用此方法,那么任何在窗体上绘制的内容都会叠加在以前的内容之上,这可能会导致一些不需要的视觉效果。
        graphics.Clear() 方法只会清除 Graphics 对象所关联的设备的背景,例如窗体或图像。如果想要清除其他设备的背景,例如打印机或文件,需要使用其他方法。

二、 示例

         本实例在图片资源管理器里放置了2张图片,通过Load初始化加载一个背景图,通过鼠标单击事件清空背景图,通过鼠标双击事件加载另一张背景图。循环往复操作,观察效果。

// 清空背景图片
namespace _174
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 加载初始背景图片
        /// </summary>
        private void Form1_Load(object? sender, EventArgs e)
        {
            BackgroundImage = Properties.Resources.test;
            BackgroundImageLayout = ImageLayout.Tile;
        }

        /// <summary>
        /// 清空背景图片
        /// </summary>
        private void Form1_MouseClick(object sender, MouseEventArgs e)
        {
            Graphics graphics = CreateGraphics();   //创建绘图对象
            graphics.Clear(Color.BlueViolet);       //清空背景
            graphics.Dispose();                     //释放绘图资源
        }

        /// <summary>
        /// 再次加载背景图片
        /// </summary>
        private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            BackgroundImage = Properties.Resources.testnew;
            BackgroundImageLayout = ImageLayout.Tile;
        }
    }
}

C#清空窗体的背景图片-LMLPHP

C#清空窗体的背景图片-LMLPHP

C#清空窗体的背景图片-LMLPHP

04-05 09:34