Samstag, 10. Juli 2010

Programm Vollbild laufen lassen

Anfänglich betrachtet ist man vielleicht leicht versucht zu sagen, in C# könnte man keine "richtigen" Programme entwerfen, wie z.B. mit C++, weil Windows - Programme alle gleich aussehen, mit dem vom .Net Studio vordefinierten Rahmen etc.
Dabei ganz man diesen Rahmen ganz leicht ausblenden und das Formular Vollbild auf dem kompletten Bildschirm laufen lassen, wobei auch die Taskleiste im unteren Bereich verdeckt ist.
3 Eigenschaften müssen dafür (am besten beim in der Funktion Form_Load() oder im Konstruktor) gesetzt werden, folgendes Beispiel erklärt diese:

private void Form1_Load(object sender, EventArgs e)
{
    this.FormBorderStyle = FormBorderStyle.None; // Rahmen ausblenden
    this.TopMost = true; // Formular ganz im Vordergrund, also auch vor der Taskleiste anzeigen
    this.Bounds = Screen.PrimaryScreen.Bounds; // Formulargröße auf Größe des Bildschirms festlegen
}

Kommentare:

  1. Danke schön, klappt sehr gut. Und es ist echt einfach umzusetzen. Aber vergesst nicht ein "Schließen Button" einzufügen, da der Rahmen ja weg ist.

    AntwortenLöschen
    Antworten
    1. Einfach die Methode close(); aufrufen ;)

      Löschen
    2. Kann man eigentlich auch irgendwie den vollbildmodus mit escape verlassen?

      Löschen
    3. ja, mit einem KeyListener

      Löschen
    4. Geht so etwas auch mit c++?

      Löschen
  2. Wichtig ist meiner Erfahrung nach auch die Reihenfolge. Ich habe keine Ahnung was Borderstyle.None genau macht. Aber wenn man die "Bounds" vor dem Borderstyle setzt, dann fehlt beim 'Fullscreen' genau soviel Pixel, wie vorher durch Titelleiste+Ränder eingenommen wurde.

    AntwortenLöschen
  3. Beides sehr nützliche Tipps, danke.
    Borderstyle.None ändert die Rahmenart des Formulars auf "keinen Rahmen". Standardmäßig hat das Formular oben einen breiten Rahmen, die Titelleiste, und an den restlichen Rändern einen dünneren Rand. Ändert man nun die Größe des Formulars mittels "this.Bounds = Screen.PrimaryScreen.Bounds" vor dem Entfernen des Rahmens, wird das Formular inklusive Rahmen an die Größe des Bildschirms angepasst. Entfernt man dann den Rahmen, wird die Größe nicht mehr geändert, das Formular sieht zu klein aus.

    AntwortenLöschen
  4. Danke :)
    funktioniert sehr gut! :)

    AntwortenLöschen
  5. geht das auch bei einer konsolenanwendung?

    AntwortenLöschen