关于C# WinForm 边框阴影窗体(一)

时间:2023-12-11 08:05:25
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;
using System.Runtime.InteropServices;
namespace testWinForm
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW); //API函数加载,实现窗体边框阴影效果
        }
        #region 窗体边框阴影效果变量申明

const int CS_DropSHADOW = 0x20000;
        const int GCL_STYLE = (-26);
        //声明Win32 API
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int SetClassLong(IntPtr hwnd, int nIndex, int dwNewLong);
        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        public static extern int GetClassLong(IntPtr hwnd, int nIndex);

#endregion
        private void Form2_Load(object sender, EventArgs e)
        {

}
    }
}

此方法确实是起到作用的,但是小编在自己用的过程中,发现会影响其他的页面效果,不过暂时也没有更改的办法,大家有合适的方法可以推荐一下。