WPF程式禁止win7視窗自動最大化

2022-01-31 23:35:47 字數 1163 閱讀 1654

相信用過windows7的朋友都知道,當我們將某個視窗拖拽到螢幕的頂部時視窗就會自動最大化,拖動到螢幕左右測邊緣時,視窗會佔據半個螢幕大小。這是windows7帶來的新功能新亮點之一。

但是如果在具體專案具體需求時,windows7的這種特性往往會阻礙我們意願,成為我們的絆腳石。

那麼該篇文章介紹,wpf 程式window視窗移動時 遮蔽windows7的這種特性。

具體需求:

wpf專案中的window:a.xaml 有具體width和height,例:width:500,height:500;

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

具體實現:

在a.xaml頁面中定義mouseleftbuttondown事件,然後做拖動操作,**如下:

1

public

a() 25

private

void a_mouseleftbuttondown(object

sender, mousebuttoneventargs e)

6

在一切感覺ok時,卻遇到乙個問題,就是當移動窗體到螢幕邊緣時,會觸發windos7的視窗最大化特性。

嘗試方法:

在網上搜尋「wpf程式遮蔽win7視窗自動最大化」,但是搜尋出的結果都是怎樣從計算機設定中遮蔽win7的這種特性,非我所願。

於是轉化另外一種思路,搜尋「wpf window類」,找到window.resizemode 屬性

msdn解釋:獲取或設定大小調整模式。

存在一下四種選項:

noresize。使用者無法調整視窗的大小。不顯示最小化框和最大化框。

canminimize。使用者只能最小化視窗以及從工作列還原視窗。同時顯示最小化框和最大化框,但只有最小化框處於啟用狀態。

canresize。使用者完全能夠使用最小化框和最大化框以及乙個環繞視窗的可拖動輪廓來調整視窗大小。顯示並啟用最小化框和最大化框。(預設值)。

canresizewithgrip。此選項的功能與 canresize 相同,但在視窗右下角新增了乙個「大小調整手柄」。

顯而易見,我們會採用noresize列舉值。

解決方法:

設定a.xaml中的resizemode=noresize,即達到遮蔽windows7的這種特性。

大功告成!o(∩_∩)o~

WPF程式禁止win7視窗自動最大化

相信用過windows7的朋友都知道,當我們將某個視窗拖拽到螢幕的頂部時視窗就會自動最大化,拖動到螢幕左右測邊緣時,視窗會佔據半個螢幕大小。這是windows7帶來的新功能新亮點之一。但是如果在具體專案具體需求時,windows7的這種特性往往會阻礙我們意願,成為我們的絆腳石。那麼該篇文章介紹,wp...

Win7如何禁止視窗自動貼邊智慧型排列最大化 分屏

在使用win7的時候大家應該會熟悉,當拖動程式視窗到windows視窗邊緣的時候,比如貼近右邊會自動分屏到右邊,當貼近上邊的時候視窗會最大化,那麼怎麼才能防止將視窗移動到螢幕邊緣時自動排列視窗。看現在把資源管理器拖動到右邊,自動識別邊緣啟用智慧型視窗 看鬆開手後資源管理器視窗自動分屏到了右側 貼近上...

解析用win7自帶功能禁止程式執行

方法雖然簡單,但是對我來說還是有用滴!這個方法是寫給不知道的人,已經知道的高手,我這裡班門弄斧啦!一般來說,我們想要禁止某個程式在本機執行,可以借助第三方軟體,防火牆之類的有很多。可是win7下,不借助其他軟體也可以執行。由於我比較懶,也不願意去研究其他軟體,我一直用這個方法對付我兒子。至少他現在還...