如果给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函数的引入方法,当然这些函数你可以查一下相关手册,看看如何使用。
新闻热点
疑难解答
图片精选