winform窗口全屏显示,隐藏下面任务栏
时间: 2023-09-02 19:04:24 浏览: 285
要实现WinForm窗口全屏显示并隐藏下方任务栏,我们可以按照以下步骤进行操作:
1. 将窗口的BorderStyle属性设置为None,这样可以去掉窗口的标题栏和边框。
2. 使用窗口的WindowState属性将窗口最大化,即将其状态设置为Maximized。
3. 在窗口加载时,使用Screen类的PrimaryScreen属性获取主屏幕的大小信息。
4. 获取任务栏的高度,可以使用Screen类的WorkingArea属性的Height属性减去Screen类的PrimaryScreen属性的Height属性来计算。
5. 将窗口的Height属性设置为主屏幕的Height减去任务栏的高度,这样窗口就可以全屏显示了。
6. 在窗口的VisibleChanged事件中,使用Win32 API函数FindWindow和ShowWindow来隐藏任务栏。
下面是示例代码,实现了窗口全屏显示并隐藏任务栏:
```c#
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace FullScreenApp
{
public partial class MainForm : Form
{
// 引入Win32 API函数
[DllImport("user32.dll")]
private static extern IntPtr FindWindow(string className, string windowName);
[DllImport("user32.dll")]
private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
// 窗口消息常量
private const int SW_HIDE = 0;
private const int SW_SHOW = 1;
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
// 窗口最大化
WindowState = FormWindowState.Maximized;
// 获取主屏幕大小和任务栏高度
int screenWidth = Screen.PrimaryScreen.Bounds.Width;
int screenHeight = Screen.PrimaryScreen.Bounds.Height;
int taskbarHeight = Screen.PrimaryScreen.Bounds.Height - Screen.PrimaryScreen.WorkingArea.Height;
// 全屏显示窗口
Height = screenHeight - taskbarHeight;
}
private void MainForm_VisibleChanged(object sender, EventArgs e)
{
// 隐藏任务栏
IntPtr taskbarHandle = FindWindow("Shell_TrayWnd", null);
ShowWindow(taskbarHandle, SW_HIDE);
}
}
}
```
使用以上的代码和步骤,我们就可以将WinForm窗口全屏显示,并在显示窗口时隐藏下方任务栏。
阅读全文