fullscreen modus für windows forms



  • wie mach ich dass 1. die bildschirmauflösung auf z.B. 800x600 gestellt wird. und 2. dass mein windows-forms programm im vollbildmodus gestartet wird (also dass man nix mehr vom windows sieht, sondern nurnoch mein programm.)

    grüße,



  • wie mach ich dass 1. die bildschirmauflösung auf z.B. 800x600 gestellt wird

    Naja, was soll man dazu sagen, .NET selbst ist nicht dazu in der Lage. Dazu musst du wohl die WinAPI hernehmen. Hier ein kleines Tutorial.

    http://www.omniscium.com/index.asp?page=DotNetScreenResolution

    2. dass mein windows-forms programm im vollbildmodus gestartet wird (also dass man nix mehr vom windows sieht, sondern nurnoch mein programm.)

    Bei The Code Project gibt es einen Bildschirmschoner. Bei dem wird zuerst ein kleineres schwarzes Panel erstellt. Dann wird die Bildschirmauflösung ermittelt und das Panel "manuell" auf diese Eigenschaften angepasst. Hier der das Projekt
    http://www.codeproject.com/csharp/scrframework.asp
    Das Projekt habe ich schon selber für einen Screensaver benutzt. Das funktioniert ganz gut. Dies dürfte auch die einzige Möglichkeit sein, dass du auch die Taskleiste verschwinden lassen kannst.

    Wenn du einfach nur Minimieren und Maximieren möchtest, hier ein kleiner Beispiel Code.

    // Minimize the form window
    this.WindowState = FormWindowState.Minimized;
    
    Thread.Sleep(2000);// wait for 2 seconds
    // Restore the form window
    this.WindowState = FormWindowState.Normal;
    
    Thread.Sleep(2000);// wait for 2 seconds
    // Maximize the form window
    this.WindowState = FormWindowState.Maximized;
    

    Und dann wolltest Du ja, dass Deine Anwendung das "Oberste Glied" in der Kette der Windows Anwendungen ist 😃 . Gut dabei kann ich Dir nicht helfen :p . Aber damit Deine Anwendung von nichts verdeckt wird, und über allen anderen liegt, versuch mal den Codeschnipsel

    this.TopMost = true;
    

    Ich hoffe das hilft

    Gruß

    Markus Seidl



  • Eigentlich sollte der folgende Code dein Form auf Fullscreen bringen.

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

    Das komische ist, dass es nur funktioniert (zumindest bei VS2005 Beta2) wenn du FormBorderStyle schon im Designer auf None setzt.

    Wie man die Resolution verändern kann weiß ich nicht, aber wieso willst du das eigentlich machen, Fullscreen ist doch Fullscreen. 🙂



  • die auflösung will ich ändern, weil ich den bildschirm statisch erstellen will (also das bild wo ma sieht) und wenn jemand ne andere auflösung hat, als die die das form hat, dann sieht das voll komisch aus.

    ich versuchs mit der Api und top most. mal schaun was dabei rauskommt.

    danke auf jedenfall für die antworten.

    grüße,



  • Also ich wär höllisch sauer, wenn ich ein Programm starte und das ändert mir einfach die Auflösung.

    Mach doch lieber dein Fenster nur 800x600 Pixel groß.

    Wenn du die Auflösung dennoch änderst - dann denk daran sie beim Beenden deines Programmes auch wieder zurückzusetzen.



  • Also ich wär höllisch sauer, wenn ich ein Programm starte und das ändert mir einfach die Auflösung.

    Mach doch lieber dein Fenster nur 800x600 Pixel groß.

    Wenn du die Auflösung dennoch änderst - dann denk daran sie beim Beenden deines Programmes auch wieder zurückzusetzen.

    Auch Spiele ändern von sich aus die Auflösung. Wenn er aber dieses Vollbildprogramm erstellt, und das seine Berechtigung hat, wird sich keiner der Nutzer darüber beschweren, dass er die Auflösung ändert. Wichtig ist aber, dass er spätestens nach Programmende die Auflösung zurückstellt. Das eigentliche Problem dürfte sich nur dann stellen, wenn der User auf die Idee kommt, das Programm abzuschießen. Unter OpenGL und Direct3d ist das ja weniger das Problem, das stellt sich ja mehr oder weniger automatisch zurück.

    Bei einer Windows Anwendung dürfte das ja ein bischen schwieriger werden. Was auch kritisch ist: Wenn man die Auflösung ändert, was passiert mit den Icons auf dem Desktop?

    Gruß

    Markus Seidl



  • ja, so wie die spiele wollt ich das auch machen...


Anmelden zum Antworten