wpf 实现全屏与取消全屏

本文介绍了一个简单的全屏功能实现方法及其取消过程。通过存储并恢复窗口状态信息来实现全屏与正常模式之间的切换。适用于需要快速实现全屏功能的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/// <summary>
/// 全屏
/// </summary>
public void ToFullscreen()
{

//存储窗体信息
m_WindowState = this.WindowState;
m_WindowStyle = this.WindowStyle;
m_WindowTopMost = this.Topmost;
m_WindowResizeMode = this.ResizeMode;
m_WindowRect.X = this.Left;
m_WindowRect.Y = this.Top;
m_WindowRect.Width = this.Width;
m_WindowRect.Height = this.Height;

//变成无边窗体
this.WindowState = WindowState.Normal;//假如已经是Maximized,就不能进入全屏,所以这里先调整状态
this.WindowStyle = WindowStyle.None;
this.ResizeMode = ResizeMode.NoResize;
this.Topmost = true;//最大化后总是在最上面

// 调整窗口最大化。
this.Width = m_DisplayBounds.width;
this.Height = m_DisplayBounds.height;
this.WindowState = WindowState.Maximized;

}

/// <summary>
/// 取消全屏
/// </summary>
public void ExitFullscreen()
{

//恢复窗口先前信息,这样就退出了全屏
this.Topmost = m_WindowTopMost;
this.WindowStyle = m_WindowStyle;

this.ResizeMode = ResizeMode.CanResize;//设置为可调整窗体大小
this.Left = m_WindowRect.Left;
this.Width = m_WindowRect.Width;
this.Top = m_WindowRect.Top;
this.Height = m_WindowRect.Height;
this.WindowState = m_WindowState;//恢复窗口状态信息
this.ResizeMode = m_WindowResizeMode;//恢复窗口可调整信息

}

转载于:https://www.cnblogs.com/moonlight-zjb/p/4675329.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值