zoukankan      html  css  js  c++  java
  • WPF程序禁止win7窗口自动最大化

    相信用过windows7的朋友都知道,当我们将某个窗口拖拽到屏幕的顶部时窗口就会自动最大化,拖动到屏幕左右测边缘时,窗口会占据半个屏幕大小。这是windows7带来的新功能新亮点之一。

      但是如果在具体项目具体需求时,windows7的这种特性往往会阻碍我们意愿,成为我们的绊脚石。

      那么该篇文章介绍,WPF 程序Window窗口移动时 屏蔽windows7的这种特性。

      具体需求:

      WPF项目中的window:A.xaml 有具体width和height,例:width:500,height:500;

      不允许大小更改,且可以拖拽

      具体实现:

      在A.xaml页面中定义MouseLeftButtonDown事件,然后做拖动操作,代码如下:

      

    1 public A()         
    2 {
    3             MouseLeftButtonDown += A_MouseLeftButtonDown;
    4 }
    5  private void A_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)         
    6 {             
    7             DragMove();        
    8  }    

      在一切感觉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

  • 相关阅读:
    combobox只读代码
    winform中相对路径和绝对路径的获取
    C#中启动外部应用程序
    C#winfrom中应用程序只启动一次代码
    测试计划详细版
    如何编写有效的测试计划
    产品经理,如何面对一句话需求?
    需求评审-软件测试最有效的阶段
    分享一套好用的功能测试用例编写框架
    selenium加载配置文件
  • 原文地址:https://www.cnblogs.com/lyghost/p/2753273.html
Copyright © 2011-2022 走看看