前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WPF 不遮挡任务栏最大化和全屏显示

WPF 不遮挡任务栏最大化和全屏显示

作者头像
zls365
发布2020-12-15 15:10:34
3.8K0
发布2020-12-15 15:10:34
举报
文章被收录于专栏:CSharp编程大全CSharp编程大全
  1. 在窗体不去边框的情况下,不遮挡任务栏最大化 MainWindow.xaml.cs
代码语言:javascript
复制
using System;
using System.Windows;
using System.Windows.Threading;

namespace thzSoftware
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        DispatcherTimer mTimer;
        public MainWindow()
        {
            InitializeComponent();
            mTimer = new DispatcherTimer();
            mTimer.Interval = new TimeSpan(0, 0, 3);//定时间隔3秒
            mTimer.Tick += MTimer_Tick;//加载事件,敲tab键事件框架可以自己出来
            mTimer.Start();
        }
        private void MTimer_Tick(object sender, EventArgs e)
        {
            MessageBox.Show(this.Width.ToString() + "***" + this.Height.ToString());
        }
    }
}

MainWindow.xaml

代码语言:javascript
复制
<Window x:Class="thzSoftware.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:thzSoftware"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800" WindowState="Maximized">
    <Grid ShowGridLines="True" Margin="5">
        <Grid.RowDefinitions>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="4*"/>
        </Grid.ColumnDefinitions>
        <Image Name="Cam1" Grid.Row="0" Grid.Column="0" Source="C:\Users\admin\source\repos\thzSoftware\thzSoftware\bin\Debug\Cam1.jpg"/>
        <Image Name="Cam2" Grid.Row="1" Grid.Column="0" Source="C:\Users\admin\source\repos\thzSoftware\thzSoftware\bin\Debug\Cam2.jpg"/>
    </Grid>
</Window>

运行结果:窗体的尺寸:1936*1056

2. 用代码 最大化

方式1:不包括窗体边框

代码语言:javascript
复制
  this.Height = SystemParameters.WorkArea.Height;
  this.Width = SystemParameters.WorkArea.Width;////得到屏幕工作区域宽度

这样窗体实际上并没有最大化,尺寸只有 1920 *1040

方式2:不包括窗体边框

代码语言:javascript
复制
 this.Width = System.Windows.SystemParameters.PrimaryScreenWidth;////得到屏幕整体宽度
 this.Height = System.Windows.SystemParameters.PrimaryScreenHeight;

这样窗体实际上并没有最大化,尺寸只有 1920 *1080

方式3:包括边框

代码语言:javascript
复制
  this.Height = SystemParameters.MaximizedPrimaryScreenHeight;
  this.Width = SystemParameters.MaximizedPrimaryScreenWidth;

运行结果:窗体的尺寸:1936*1056 用此方式就行

3. 全屏显示:

方式1:

方式2:

代码语言:javascript
复制
//全屏代码:
private void Window_Loaded(object sender, RoutedEventArgs e)

{
    // 设置全屏
    this.WindowState = System.Windows.WindowState.Normal;
    this.WindowStyle = System.Windows.WindowStyle.None;
    this.ResizeMode = System.Windows.ResizeMode.NoResize;
    this.Topmost = true;

    this.Left = 0.0;
    this.Top = 0.0;
    this.Width = System.Windows.SystemParameters.PrimaryScreenWidth;
    this.Height = System.Windows.SystemParameters.PrimaryScreenHeight;
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSharp编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档