Как отобразить Windows Form в полном экране сверху панели задач? [дубликат]

Этот вопрос уже имеет ответ здесь:

У меня есть приложение Windows .NET, которое должно работать в полном экране. Когда приложение запускается однако, панель задач показывают сверху основной формы, и это только исчезает при активации формы путем нажатия на него или использования ALT-TAB. Текущие свойства формы следующие:

  • WindowState=FormWindowState. Нормальный
  • TopMost=Normal
  • Size=1024,768 (это - разрешение экрана машин, это будет работой),
  • FormBorderStyle = ни один

Я попытался добавить followings на загрузке формы, но ни один не работал на меня:

  • это. Фокус (); (после того, как, давая фокус это. Свойство фокуса всегда является ложью),
  • это. BringToFront ();
  • это. TopMost = верный; (это однако не было бы идеально в моем сценарии),
  • это. Границы = Экран. PrimaryScreen. Границы;
  • это. Границы = Экран. PrimaryScreen. Границы;

Есть ли способ сделать это в.NET или был бы, я должен вызвать собственные методы окон, и раз так фрагмент кода очень ценился бы.

большое спасибо

61
задан T30 16 January 2014 в 17:35
поделиться

3 ответа

Мое простое исправление - это вызов метода формы Activate () , поэтому нет необходимости использовать TopMost (это то, к чему я стремился).

12
ответ дан 24 November 2019 в 17:01
поделиться

Я считаю, что это можно сделать, просто установив для свойства 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;
            }
        }
2
ответ дан 24 November 2019 в 17:01
поделиться

Используйте:

FormBorderStyle = FormBorderStyle.None;
WindowState = FormWindowState.Maximized;

А затем ваша форма размещается над панелью задач.

95
ответ дан 24 November 2019 в 17:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: