私は自分のアプリを持っていて、タスクバーなしでフルスクリーンモードで実行したいと思っています。Windowsバーを非表示にする方法を見つけましたが、アプリを起動すると、この最後が非表示になっているにもかかわらず、Windowsタスクバーのスペースがカバーされません。
私はこれを見つけましたが、うまくいきませんでした。ひるみに関しては、この例を見つけることができませんでした。FormBorderStyle = None、WindowsState=Maximizedがあります
解決:
私はそれをする方法を見つけます。重要なヒントは、WindowState = Normalにすることです(この問題を見つけるのに少し時間がかかりました)。WindowState = Maximizedの場合、フォームの高さをディスプレイの最大の高さに設定することはできません。
私はそれを精査するためにこのコードを書きました、そしてそれはうまくいきます。button1(フルスクリーン)とbutton2(デフォルト画面に戻す)の2つのボタンを持つフォームです
public partial class Form1 : Form
{
public Form1(){
InitializeComponent();
}
[DllImport("Coredll")]
internal static extern IntPtr FindWindow(String lpClassName, String lpWindowName);
[DllImport("coredll.dll")]
internal static extern bool EnableWindow(IntPtr hwnd, Boolean bEnable);
[DllImport("coredll.dll")]
private static extern bool MoveWindow(IntPtr hWnd, int x, int y, int cx, int cy, bool repaint);
public static bool EnableTaskBar(Boolean enable)
{
IntPtr hwnd;
hwnd = FindWindow("HHTaskBar", "");
if (enable) SetHHTaskBar();
else HideHHTaskBar();
return EnableWindow(hwnd, enable);
}
public static void HideHHTaskBar()
{
IntPtr iptrTB = FindWindow("HHTaskBar", null);
MoveWindow(iptrTB, 0, Screen.PrimaryScreen.Bounds.Height,
Screen.PrimaryScreen.Bounds.Width, 26, true);
}
public static void SetHHTaskBar()
{
IntPtr iptrTB = FindWindow("HHTaskBar", null);
MoveWindow(iptrTB, 0, 294,
Screen.PrimaryScreen.Bounds.Width, 26, true);
}
private void button1_Click(object sender, EventArgs e)
{
EnableTaskBar(false);
this.Width = Screen.PrimaryScreen.Bounds.Width;
this.Height = Screen.PrimaryScreen.Bounds.Height;
this.Left = 0;
this.Top = 0;
}
private void button2_Click(object sender, EventArgs e)
{
EnableTaskBar(true);
}
}
それが同じ問題を抱えている他の人に役立つことを願っています!
助けてくれてありがとう!