c# 无边框窗体的边框阴影
2021-06-20 04:03
标签:win api windows this private raw eric prot ado Windows API: c# 无边框窗体的边框阴影 标签:win api windows this private raw eric prot ado 原文地址:https://www.cnblogs.com/wgscd/p/10267086.htmlusing 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 BaseForm
{
public partial class FormEnumlator : Form
{
public FormEnumlator()
{
InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
SetClassLong(this.Handle, GCL_STYLE, GetClassLong(this.Handle, GCL_STYLE) | CS_DropSHADOW); //API函数加载,实现窗体边框阴影效果
Location = new Point(0,0);
// this.StartPosition = FormStartPosition.Manual;
}
private bool _IsMouseDown;
private Point _oldLocation;
private Point _startPoint;
#region 窗体边框阴影效果变量申明
private const int CS_DropSHADOW = 0x20000;
private 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
protected override void OnLoad(EventArgs e)
{
// base.OnLoad(e);
}
private void frmEnumlator_Load(object sender, EventArgs e)
{
}
}
}
上一篇:js如何将时间戳转换为标准时间
下一篇:ansible 2.7 API