WPF程序禁止win7窗口自动最大化
来源:互联网 发布:血族手游 知乎 编辑:程序博客网 时间:2024/05/01 01:00
相信用过windows7的朋友都知道,当我们将某个窗口拖拽到屏幕的顶部时窗口就会自动最大化,拖动到屏幕左右测边缘时,窗口会占据半个屏幕大小。这是windows7带来的新功能新亮点之一。
但是如果在具体项目具体需求时,windows7的这种特性往往会阻碍我们意愿,成为我们的绊脚石。
那么该篇文章介绍,WPF 程序Window窗口移动时屏蔽windows7的这种特性。
具体需求:
WPF项目中的window:A.xaml 有具体width和height,例:width:500,height:500;
不允许大小更改,且可以拖拽
具体实现:
在A.xaml页面中定义MouseLeftButtonDown事件,然后做拖动操作,代码如下:
public A()
{
MouseLeftButtonDown+= A_MouseLeftButtonDown;
}
private voidA_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
DragMove();
}
在一切感觉OK时,却遇到一个问题,就是当移动窗体到屏幕边缘时,会触发windos7的窗口最大化特性。
尝试方法:
在网上搜索“WPF程序屏蔽win7窗口自动最大化”,但是搜索出的结果都是怎样从计算机设置中屏蔽win7的这种特性,非我所愿。
于是转化另外一种思路,搜索“WPF Window类”,找到Window.ResizeMode 属性
msdn解释:获取或设置大小调整模式。
存在一下四种选项:
NoResize。用户无法调整窗口的大小。不显示最小化框和最大化框。
CanMinimize。用户只能最小化窗口以及从任务栏还原窗口。同时显示最小化框和最大化框,但只有最小化框处于启用状态。
CanResize。用户完全能够使用最小化框和最大化框以及一个环绕窗口的可拖动轮廓来调整窗口大小。显示并启用最小化框和最大化框。(默认值)。
CanResizeWithGrip。此选项的功能与 CanResize 相同,但在窗口右下角添加了一个“大小调整手柄”。
显而易见,我们会采用NoResize枚举值。
解决方法:
设置A.xaml中的ResizeMode=NoResize,即达到屏蔽windows7的这种特性。
大功告成!O(∩_∩)O~
转载地址 http://blog.sina.com.cn/s/blog_5f2ed5cb0100v749.html
另外有个问题 在win7下 左右拖拽半屏最大化都可以,向上拖拽的时候不正常,希望看到这的大侠看看这个问题
源码:http://download.csdn.net/detail/wutuomail/7898003
- WPF程序禁止win7窗口自动最大化
- WPF程序禁止win7窗口自动最大化
- WPF程序禁止win7窗口自动最大化
- WPF禁止拖拽窗口到边缘自动最大化
- C# WPF 如何禁止窗口拖到屏幕边缘自动最大化
- 代码禁止Vista/Win7窗口移动到屏幕边缘自动最大化
- MFC禁止窗口最大化
- 窗口最大化禁止遮挡任务栏
- PyQT禁止窗口最大化按钮
- win7去掉自动最大化
- wpf 在win7边缘最大化
- [JS]窗口自动最大化
- 网页窗口自动最大化
- MFC禁止窗口最大化按钮和禁止改变窗口大小
- MFC程序中让窗口不能移动、最大化、最小化,禁止系统菜单
- MFC禁止窗口最大化最小化的代码
- Qt怎样禁止用户最大化窗口解决办法
- duilib中禁止一个窗口双击最大化
- 监控linux系统某文件的生成,并进行另一个脚本
- BOIS来电自启动
- C++中typename的用法
- Ubuntu12搭建nutch1.2+tomcat7+jdk1.6
- 图中点到点最短路径长度
- WPF程序禁止win7窗口自动最大化
- 使用AsyncTask时出现doInBackground没有调用的处理方法
- Android 一键分享功能开发教程
- SpringMVC拦截器(资源和权限管理)
- Node.js fatal error: bits/c++config.h: No such file or directory
- STM32101RB jlink配置
- Android自定义设置圆形图片控件
- Android 关闭线程
- Ant编译Java项目成jar