天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

利用WPF建立自適應(yīng)窗口大小布局的WinForm窗口

  編寫WinForm程序時,都會碰到一個問題。就是WinForm窗口在不同分辨率下的大小問題。舉例說明,你編寫的WinForm窗口在1024×768下是合適、勻稱的。不過,如果用戶的計算機(jī)的分辨率為1400×900時,你的WinForm窗口就顯得偏小,其中的字體和控件都顯得偏小。如果用戶的分辨率為640×480,那你的窗口就遠(yuǎn)遠(yuǎn)超過它的屏幕的大小。

  如何解決這個問題?一般的WinForm程序都會這樣操作:程序啟動——》獲取屏幕分辨率——》調(diào)整窗體的大小——》調(diào)整各個控件大小及位置——》調(diào)整各個控件的字體。這樣操作比較繁瑣,并且要考慮到各種分辨率的情況。這樣一來,如果WinForm窗口上有若干控件,調(diào)整是一件很痛苦的事。

  有沒有這樣的手段。我只要調(diào)整WinForm窗口的大小,其中的各個控件大小(包括字體)自動的等比例縮放?

  還記得一些DirectX的游戲程序嗎?當(dāng)設(shè)定為固定的分辨率時(比如800×600),在全屏的時候,他都會自動縮放。WinForm有這樣的手段嗎?

  答案是肯定的。在WPF中就能很簡單的實現(xiàn)該功能。

  利用WPF中的ViewBox容器空間。ViewBox是一個容器空間,它會自動縮放容器中的子空間以填滿自身,同時它只能有一個子控件。不過,我們可以把Canvas控件作為ViewBox控件的子控件。然后在Canvas控件中布局其他的控件。

  先看看下面的窗口的Xaml文件

 

<Window x:Class="Window1"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    Title="WPFTest"     mc:Ignorable="d"     xmlns:d="http://schemas.microsoft.com/expression/blend/2008"     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"      SizeToContent="Manual" Width="400" Height="300">    <DockPanel  Name="DockPanel1"  LastChildFill="True">      <Menu Height="23" Name="Menu1"  DockPanel.Dock="Top">        <MenuItem Header="Menu1">          <MenuItem Header="H1" />          <MenuItem Header="H2" />        </MenuItem>          <MenuItem Header="Menu2">          <MenuItem Header="L1" />          <MenuItem Header="L2" />          <Separator />          <MenuItem Header="L4" />        </MenuItem>      </Menu>      <StatusBar Height="23" Name="StatusBar1"  DockPanel.Dock="Bottom">        <StatusBarItem Content="S1" Name="S1"/>        <StatusBarItem Content="S2" Name="S2"/>        <StatusBarItem Content="S3" Name="S3"/>      </StatusBar>      <Viewbox  Name="Viewbox1" Stretch="Fill">        <Canvas Height="200" Name="Canvas1" Width="300" Background="#FF8EDE75">          <Button Canvas.Left="43" Canvas.Top="40" Content="Button" Height="37" Name="Button1" Width="87" />        </Canvas>      </Viewbox>    </DockPanel>  </Window>

NET技術(shù)利用WPF建立自適應(yīng)窗口大小布局的WinForm窗口,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国语自产精品一区在线视频观看 | 99久久99久久免费精品蜜桃 | 亚洲免费无码中文在线 | 国产精品久久婷婷五月色 | 超碰97 总站 中文字幕 | 精品熟女少妇AV久久免费A片 | 亚洲免费国产在线日韩 | 国产精品99久久久久久动态图 | 久久久久国产一级毛片高清片 | 国产精品日韩欧美一区二区三区 | 亚洲日韩欧美国产中文在线 | 久久久久免费视频 | 色欲午夜无码久久久久久 | 超大BBWWW| 啦啦啦视频在线观看WWW | 亚洲国产精品一区二区第一页 | 深夜释放自己污在线看 | 晓雪老师我要进你里面好爽 | 精品AV国产一区二区三区 | 欧美精品成人一区二区在线观看 | 亚洲嫩草AV永久无码精品无码 | 成 人 动漫3d 在线看 | 男男gaygay拳头 | 青青精品国产自在线拍 | 久久久久国产 | 午夜福利免费0948视频 | 51xx午夜影视福利 | 国产高清亚洲日韩字幕一区 | 老熟女毛茸茸浓毛 | 国产精品日本欧美一区二区 | 久久re热在线视频精6 | av天堂电影网在线观看 | 麻豆精品人妻一区二区三区蜜桃 | 亚洲精品沙发午睡系列 | 最近免费中文MV在线字幕 | 国产午夜精品鲁丝片 | 99久久精品国产一区二区三区 | 狠狠射首页 | 把她带到密室调教性奴 | 亚洲国产综合人成综合网站00 | 国产睡熟迷奷系列网站 |