FormWindowState.Maximized zeigt beim zweiten Form-Aufruf im Taskleistenbereich nichts an

  • VB.NET
  • .NET (FX) 4.0

    FormWindowState.Maximized zeigt beim zweiten Form-Aufruf im Taskleistenbereich nichts an

    Hallo Leute,

    ich kämpfe gerade mit einem Phänomen, bei dem ich nicht ganz klarkomme. Ist womöglich nur ein Denkfehler irgendwo.

    Ich rufe aus einer maximierten Form (frm_hauptform) eine zweite Form (frm_buchen) auf und stelle diese im onload Ereignis ebenfalls auf maximiert. Beim ersten Aufruf funktioniert das auch. Schließe ich die Form (frm_buchen) wieder und rufe diese dann genau identisch auf und stelle dann wieder auf maximiert, dann fehlt mir unten ein Bereich des Bildschirmes (siehe Screenshots anbei). Blende ich die Windows-Taskleiste über die Taskleisteneigenschaft nach unten aus, dann funktioniert es aber. Was kann ich hier tun (außer die Taskleiste manuell ausblenden).

    Hier mein Quellcode:

    VB.NET-Quellcode

    1. Private Sub frm_buchen_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. FensterModusAendern(Me)
    3. End Sub


    Da diese Funktion öfter verwendet wird, habe ich diese in ein Modul ausgelagert:

    VB.NET-Quellcode

    1. ''' Die globale Variable FensterModus enthält FenstMod.Vollbild
    2. Public Sub FensterModusAendern(Fenster As System.Windows.Forms.Form)
    3. Select Case FensterModus
    4. Case FenstMod.Vollbild
    5. 'Vollbildmodus maximiert
    6. Fenster.FormBorderStyle = FormBorderStyle.None
    7. Fenster.WindowState = FormWindowState.Maximized
    8. Case FenstMod.FensterRahmenlos
    9. 'Rahmenlos Fenstermodus 1024x768
    10. Fenster.WindowState = FormWindowState.Normal
    11. Fenster.FormBorderStyle = FormBorderStyle.None
    12. Fenster.Left = 0
    13. Fenster.Top = 0
    14. Case FenstMod.FensterMitRahmen
    15. 'Fenstermodus mit Rahmen 1024x768 - Sizeable
    16. Fenster.WindowState = 0 'normal (1=min 2=max)
    17. Fenster.FormBorderStyle = FormBorderStyle.Sizable
    18. Fenster.Left = My.Settings.FensterPosLeft
    19. Fenster.Top = My.Settings.FensterPosTop
    20. Fenster.Width = My.Settings.Fensterbreite
    21. Fenster.Height = My.Settings.Fensterhoehe
    22. End Select
    23. End Sub




    Nachtrag:

    Fenster nicht maximieren, sondern manuell die Größe einstellen funktioniert. Da die Form ohnehin rahmenlos ist, macht es optisch keinen Unterschied. So funktioniert es nun:

    VB.NET-Quellcode

    1. 'Vollbildmodus maximiert
    2. Fenster.Left = 0
    3. Fenster.Top = 0
    4. Fenster.Width = Screen.PrimaryScreen.Bounds.Width
    5. Fenster.Height = Screen.PrimaryScreen.Bounds.Height
    6. Fenster.FormBorderStyle = FormBorderStyle.None
    7. 'Fenster.WindowState = FormWindowState.Maximized

    Bilder
    • korrekt.jpg

      17,47 kB, 440×99, 86 mal angesehen
    • falsch.jpg

      16,48 kB, 469×115, 97 mal angesehen
    Liebe Grüße
    Roland Berghöfer

    Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „dive26“ ()