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

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 阴影
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            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

    }
}
时间: 2024-10-25 04:43:02

C#窗体四边框阴影效果的实现的相关文章

c# 无边框窗体的边框阴影

Windows API: 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 BaseF

兼容低版本IE浏览器的边框阴影效果

兼容低版本IE浏览器的边框阴影效果:使用box-show属性可以实现边框阴影效果,但是IE8和IE8以下浏览器不支持此属性,不过可以通过以下方式实现,当然实现全兼容的方式有多种,下面是一种比较简陋的方式,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www

C# 无边框窗体边框阴影效果的简单实现

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

好玩的WPF第一弹:窗口抖动+边框阴影效果+倒计时显示文字

大家一进到博客就应该看到这张GIF了吧--好吧,今天不是星期一-- 那么就来一起做做这个效果啦!看完记得点赞哦~ 新建一个WPF项目 如果新建WPF项目应该不用我说了吧,在C#下面找找就好了. MainWindow.xaml 在初始的Window下添加如下属性: x:Name="mainWindow" WindowStartupLocation="CenterScreen" WindowState="Normal" WindowStyle=&qu

(转)教你实现Winform窗体的四边阴影效果

1.首先我们得有这样一张阴影图片. 2.然后分别有两个窗体去实现这个阴影效果. SkinForm - 用于实现阴影的绘制,特性:鼠标可穿透,无法点击,跟随窗体. SkinMain - 主窗体,也是承载控件的容器窗体, 特性:与普通窗体无一区别,移动和拉伸,阴影窗体都会跟随. 3.在SkinMain主窗体的OnVisibleChanged事件中new出阴影窗体 //绘制层 private SkinForm skin; skin = new SkinForm(this); skin.Show(thi

窗体去掉边框后不能拖动的问题

在C# WinForm中,边框不显示就会造成窗体无法拖动的情况,把下边的代码添加上去就可以解决. 1.导入命名空间using System.Runtime.InteropServices;2.输入如下代码 [DllImport("user32.dll")]public static extern bool ReleaseCapture();[DllImport("user32.dll")]public static extern bool SendMessage(I

MFC窗体去边框、置顶、全屏、激活

静态移除长提边框很简单,直接设置"Border"属性为"none"即可 "Maximize Box", "Minimize Box" 设置是否显示 最大化/最小化按钮: "System Menu" 设置 是否显示 关闭按钮: 1. 代码中动态移除窗体边框的方法 DWORD dwStyle = GetStyle(); //等价于GetWindowLong(m_hWnd, GWL_STYLE); DWORD d

Delphi 窗体无边框,透明的设置

1.使Form没有标题栏和边框,只需要设置BorderStyle:=bsNode; 2.使Form透明,即只显示控件,假设Form尺寸:300*400,控件尺寸:200*200: a.procedure TForm1.FormCreate(Sender: TObject); begin   BorderStyle := bsNone;   Brush.Style := bsClear; end; 只是使Form透明了,但所占据的空间还在,即点击Form的透明区域,其他应用获取不到焦点,鼠标其实还

css3边框阴影效果

下面来说下css3阴影的语法: box-shadow:none | <shadow> [ , <shadow> ]* <shadow> = inset? && [ <length>{2,4} && <color>? ] 取值: none: 无阴影 <length>①: 第1个长度值用来设置对象的阴影水平偏移值.可以为负值 <length>②: 第2个长度值用来设置对象的阴影垂直偏移值.可以为