WPF窗体最大化、最小化、关闭按钮的隐藏和禁用

1.隐藏窗体最大化,最小化,以及关闭按钮的话,可以再窗体的属性面板设置

ResizeMode=NoResize时,将不会显示最大化最小化,只有关闭按钮;如下图:

2最大化按钮被禁用,但是还是会显示,不能按,最小化,关闭按钮正常显示,.设置窗体属性ResizeMode="CanMinimize"

3.隐藏最大化,最小化,以及关闭按钮,周围的边框也不存在,设置窗体属性WindowStyle="None"

4.禁用关闭按钮

重载OnClosing()函数实现--使用户无法通过点击右上角的关闭按钮来关闭窗口

        protected override void OnClosing(System.ComponentModel.CancelEventArgs e)

        {

            e.Cancel = true;

        } 

//去除关闭按钮

//先在window类中声明:

        [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]

        private static extern IntPtr GetSystemMenu(IntPtr hWnd, UInt32 bRevert);

        [DllImport("USER32.DLL ", CharSet = CharSet.Unicode)]

        private static extern UInt32 RemoveMenu(IntPtr hMenu, UInt32 nPosition, UInt32 wFlags);

        private const UInt32 SC_CLOSE = 0x0000F060;

        private const UInt32 MF_BYCOMMAND = 0x00000000;

        //然后,在装载事件(load)中加入:

var hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_SYSMENU);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值