C# 实现图片为背景的不规则窗体

时间:2022-10-15 05:43:51

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;

namespace MYLOVE
{
    ///


    /// Summary description for BitmapRegion.
    ///
    public class BitmapRegion
    {
        public BitmapRegion()
        { }


        ///
        /// Create and apply the region on the supplied control
        /// 创建支持位图区域的控件(目前有button和form)
        ///
        /// The Control object to apply the region to控件
        /// The Bitmap object to create the region from位图
        public static void CreateControlRegion(Control control, Bitmap bitmap)
        {
            // Return if control and bitmap are null
            //判断是否存在控件和位图
            if (control == null || bitmap == null)
                return;

            // Set our control''s size to be the same as the bitmap
            //设置控件大小为位图大小
            control.Width = bitmap.Width;
            control.Height = bitmap.Height;
            // Check if we are dealing with Form here
            //当控件是form时
            if (control is System.Windows.Forms.Form)
            {
                // Cast to a Form object
                //强制转换为FORM
                Form form = (Form)control;
                // Set our form''s size to be a little larger that the bitmap just
                // in case the form''s border style is not set to none in the first place
                //当FORM的边界FormBorderStyle不为NONE时,应将FORM的大小设置成比位图大小稍大一点
                form.Width = control.Width;
                form.Height = control.Height;
                // No border
                //没有边界
                form.FormBorderStyle = FormBorderStyle.None;