WinForm实现窗体最大化并遮盖任务栏的方法

 更新时间:2015年08月27日 12:39:59   作者:我心依旧  
这篇文章主要介绍了WinForm实现窗体最大化并遮盖任务栏的方法,涉及C#实现WinForm窗体全屏显示的实现及调用技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了WinForm实现窗体最大化并遮盖任务栏的方法。分享给大家供大家参考。具体实现方法如下:

using System;
using System.Windows.Forms;
using System.Drawing;
namespace CSImageFullScreenSlideShow
{
 public class FullScreen
 {
  private FormWindowState winState;
  private FormBorderStyle brdStyle;
  private bool topMost;
  private Rectangle bounds;
  public FullScreen()
  {
   IsFullScreen = false;
  }
  public bool IsFullScreen
  {
   get;
   set;
  }
  public void EnterFullScreen(Form targetForm)
  {
   if (!IsFullScreen)
   {
    Save(targetForm); // Save the original form state.
    targetForm.WindowState = FormWindowState.Maximized;
    targetForm.FormBorderStyle = FormBorderStyle.None;
    targetForm.TopMost = true;
    targetForm.Bounds = Screen.GetBounds(targetForm);
    IsFullScreen = true;
   }
  }
  /// <summary>
  /// Save the current Window state.
  /// </summary>
  private void Save(Form targetForm)
  {
   winState = targetForm.WindowState;
   brdStyle = targetForm.FormBorderStyle;
   topMost = targetForm.TopMost;
   bounds = targetForm.Bounds;
  }
  /// <summary>
  /// Leave the full screen mode and restore the original window state.
  /// </summary>
  public void LeaveFullScreen(Form targetForm)
  {
   if (IsFullScreen)
   {
    // Restore the original Window state.
    targetForm.WindowState = winState;
    targetForm.FormBorderStyle = brdStyle;
    targetForm.TopMost = topMost;
    targetForm.Bounds = bounds;
    IsFullScreen = false;
   }
  }
 }
}

调用:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace CSImageFullScreenSlideShow
{
 public partial class Test : Form
 {
  public Test()
  {
   InitializeComponent();
   }
  private FullScreen fullScreen = new FullScreen();
  private void button1_Click(object sender, EventArgs e)
  {
   if (fullScreen.IsFullScreen)
   {
    fullScreen.LeaveFullScreen(this);
   }
   else
   {
    fullScreen.EnterFullScreen(this);
   }
  }
 }
}

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • C#中系统时间和UNIX时间戳互相转换

    C#中系统时间和UNIX时间戳互相转换

    本文主要介绍C#中系统时间和UNIX时间戳相互转换的方法,大家可以直接拿去用,希望有用。
    2016-05-05
  • 基于C#实现一个简单的FTP操作工具

    基于C#实现一个简单的FTP操作工具

    这篇文章主要为大家详细介绍了如何利用C#实现一个简单的FTP操作工具,可以实现FTP上传、下载、重命名、刷新、删除功能,感兴趣的可以了解一下
    2022-08-08
  • Unity实现音频播放管理器

    Unity实现音频播放管理器

    这篇文章主要为大家详细介绍了Unity实现音频播放管理器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • C#中的for和foreach的性能对比

    C#中的for和foreach的性能对比

    这篇文章主要介绍了C#中的for和foreach的性能对比,在C#中,for和foreach是两种常用的循环结构,用于迭代集合中的元素,尽管它们在功能上相似,但它们在性能、空间效率和垃圾回收(GC)方面有一些区别,需要的朋友可以参考下
    2023-10-10
  • C#使用HttpPost请求调用WebService的方法

    C#使用HttpPost请求调用WebService的方法

    这篇文章主要为大家详细介绍了C#使用HttpPost请求调用WebService的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 详解c# 委托链

    详解c# 委托链

    这篇文章主要介绍了c# 委托链的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • WPF实现窗体中的悬浮按钮

    WPF实现窗体中的悬浮按钮

    这篇文章主要为大家详细介绍了WPF实现窗体中的悬浮按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • C#线程开发之System.Thread类详解

    C#线程开发之System.Thread类详解

    本文详细讲解了C#线程开发之System.Thread类,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#中结构体定义并转换字节数组详解

    C#中结构体定义并转换字节数组详解

    在写C#TCP通信程序时,发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,要在C#中发送结构体,应该怎么做呢?
    2017-11-11
  • C# 监控 Windows 文件夹的方法

    C# 监控 Windows 文件夹的方法

    这篇文章主要介绍了C# 监控 Windows 文件夹的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03

最新评论