Этот вопрос уже имеет ответ здесь:
У меня есть приложение Windows .NET, которое должно работать в полном экране. Когда приложение запускается однако, панель задач показывают сверху основной формы, и это только исчезает при активации формы путем нажатия на него или использования ALT-TAB. Текущие свойства формы следующие:
Я попытался добавить followings на загрузке формы, но ни один не работал на меня:
Есть ли способ сделать это в.NET или был бы, я должен вызвать собственные методы окон, и раз так фрагмент кода очень ценился бы.
большое спасибо
Мое простое исправление - это вызов метода формы Activate ()
, поэтому нет необходимости использовать TopMost
(это то, к чему я стремился).
Я считаю, что это можно сделать, просто установив для свойства FormBorderStyle значение None, а для WindowState - значение Maximized. Если вы используете Visual Studio, оба из них можно найти в среде IDE, поэтому нет необходимости делать это программно. Обязательно укажите способ закрытия / выхода из программы, прежде чем делать это, потому что это приведет к удалению этого, о, такого полезного X в верхнем правом углу.
РЕДАКТИРОВАТЬ:
Попробуйте вместо этого. Это фрагмент, который я хранил долгое время. Я даже не могу вспомнить, кому это заслуга, но это работает.
/*
* A function to put a System.Windows.Forms.Form in fullscreen mode
* Author: Danny Battison
* Contact: gabehabe@googlemail.com
*/
// a struct containing important information about the state to restore to
struct clientRect
{
public Point location;
public int width;
public int height;
};
// this should be in the scope your class
clientRect restore;
bool fullscreen = false;
/// <summary>
/// Makes the form either fullscreen, or restores it to it's original size/location
/// </summary>
void Fullscreen()
{
if (fullscreen == false)
{
this.restore.location = this.Location;
this.restore.width = this.Width;
this.restore.height = this.Height;
this.TopMost = true;
this.Location = new Point(0,0);
this.FormBorderStyle = FormBorderStyle.None;
this.Width = Screen.PrimaryScreen.Bounds.Width;
this.Height = Screen.PrimaryScreen.Bounds.Height;
}
else
{
this.TopMost = false;
this.Location = this.restore.location;
this.Width = this.restore.width;
this.Height = this.restore.height;
// these are the two variables you may wish to change, depending
// on the design of your form (WindowState and FormBorderStyle)
this.WindowState = FormWindowState.Normal;
this.FormBorderStyle = FormBorderStyle.Sizable;
}
}
Используйте:
FormBorderStyle = FormBorderStyle.None;
WindowState = FormWindowState.Maximized;
А затем ваша форма размещается над панелью задач.