首页 > 编程 > C# > 正文

C#窗体边框阴影效果的实现方法

2023-05-18 12:33:13
字体:
来源:转载
供稿:网友

如果给C#编写的窗口边框加上阴影,将使窗体变得非常酷,但这需要借助windows的动态链接库(win32 API)来实现,下面就给出了一个小实例来演示一下。

//首先引入相关的命名空间,除最下面的那个之外其余都由程序自动添加

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace winForm //程序的命名空间
{
   public partial class Form1 : Form
  {
      #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_r(IntPtr hwnd, int nIndex);

     #endregion
    public Form1()
   {
         InitializeComponent();
       SetClassLong(this.Handle, GCL_STYLE, GetClassLong_r(this.Handle, GCL_STYLE) | CS_DropSHADOW); //API函数加载,实现窗体边框阴影效果
    }
 }
}

通过这个例子你应该熟悉DLL函数的引入方法,当然这些函数你可以查一下相关手册,看看如何使用。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表