WPF中如何禁用/去除窗口右上角的关闭按钮

 我来答
透彻还朴实的比目鱼3338
推荐于2016-03-15 · 超过58用户采纳过TA的回答
知道答主
回答量:125
采纳率:100%
帮助的人:56.3万
展开全部
在WPF编程中,可能需要去除窗口的右上角的几个按钮:最大化按钮、最小化按钮和关闭按钮,其他几个都很好处理,就是这个关闭按钮,WPF模型不提供删除或隐藏功能,我们只有采用一些非正常手段,比如使用Win32函数,比如禁用,对于禁用关闭功能,可以重载OnClosing()函数来实现,使用户无法通过点击右上角的关闭按钮来关闭窗口:protectedoverridevoidOnClosing(System.ComponentModel.CancelEventArgse){ e.Cancel=true;} 另一种方法就比较麻烦了,但是也是最彻底的方法:去除关闭按钮 首先,在你的Window 类中申明:privateconstintGWL_STYLE=-16;privateconstintWS_SYSMENU=0x80000;[DllImport("user32.dll" ,SetLastError=true)]privatestaticexternintGetWindowLong(IntPtrhWnd, intnIndex);[DllImport("user32.dll")]privatestaticexternintSetWindowLong(IntPtrhWnd, intnIndex, intdwNewLong); 然后,在装载事件中加入:varhwnd=newWindowInteropHelper(this ).Handle;SetWindowLong(hwnd,GWL_STYLE,GetWindowLong(hwnd,GWL_STYLE)&~WS_SYSMENU); 但是这种情况下用户仍然可以通过Alt+F4关闭窗口,所以你可能仍然需要实现上面所说的重载OnClosing()函数,将其禁用。 =================================================
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式