none
Formanzeige über der Taskbar RRS feed

  • Frage

  • Hallo zusammen,

    mein kleines Programm läuft folgendermaßen:
    Via SubMain wird gestartet, eine Form geladen. Diese Form wird sofort nach dem Laden minimiert, sodass sie in der Taskbar 'landet'. Die Form enthält nur eine Picturebox mit Bild im DockStyle Fill.

    Wenn man nun mit der Maus über das Taskbar-Icon kommt, wird ja eine Miniaturansicht der Form gezeigt. Mein kleines Problem dabei ist, dass in dieser Ansicht NICHT das in der Form enthaltene Bild gezeigt wird.

    Wenn man das Minimieren nicht programmatisch macht, sondern die Form sich öffnen lässt und sie dann erst manuell mit Klick auf die MinimizeBox verkleinert, dann wird bei Mausbewegung über dem TaskbarIcon die Form MIT dem Bild angezeigt.

    Frage: An welcher Stelle des Programms sollte man programmatisch die Form minimieren, sodass die komplette Form in der Mini-Sicht zu sehen ist?

    Grüße-


    Dietrich

    Samstag, 11. März 2017 09:08

Antworten

  • Vielen Dank Tom und Alexander!

    Eure beiden Tipps alleine haben es nicht ganz gebracht, aber dies:

    Private Sub frnScrStrt_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    	Application.DoEvents()
    	WindowState = FormWindowState.Minimized
    End Sub

    Kleiner Nachteil des Ganzen: Die Form "blinkt kurz auf" beim Start, wird aber dann minimiert und das Bild wird bei MouseOver gezeigt. Jetzt könnte man vielleicht vor dem Start die Form außerhalb des Bildschirms lokalisieren und wenn sie normal angezeigt werden soll auf dem Bildschirm...
    Grüße-



    Dietrich

    • Als Antwort markiert dherrmann Samstag, 11. März 2017 14:34
    Samstag, 11. März 2017 14:34

Alle Antworten

  • Hallo Dietrich,

    das Problem ist, dass Windows erstmal das Vorschaubild rendern muss. Es gibt da immer mal wieder kleinere Probleme, aber meistens fallen die nicht auf.

    Wo minimierst du die Form denn im Moment? Ich hätte es im Load/Event versucht. Dieses wird ja erst aufgerufen, sobald alles geladen wurde. Wenn das nicht klappt, versuche es mit Shown das müsste das letzte Event in der Start-Reihenfolge sein.


    Viele Grüße, Tom Lambert - MVP, MCC und MSP
    Wozu Antworten markieren und Posts bewerten? Klicke hier
    Nützliche Links: .NET Quellcode | C#/VB.NET Konverter | GitHub Forum Samples | Account bestätigen (Verify Your Account)
    Ich: Webseite | Facebook | Twitter | Code Snippets | GitHub

    Samstag, 11. März 2017 10:02
    Moderator
  • Hallo Dietrich,

    setzte doch die Eigenschaft Windowsstate zur Desingzeit sollte passen.

    Der Designer sollte das hier daraus machen im InitializeComponent:
    Me.WindowState = System.Windows.Forms.FormWindowState.Minimized
        

    Grüße Alexander

    Samstag, 11. März 2017 10:36
  • Vielen Dank Tom und Alexander!

    Eure beiden Tipps alleine haben es nicht ganz gebracht, aber dies:

    Private Sub frnScrStrt_Shown(sender As Object, e As EventArgs) Handles Me.Shown
    	Application.DoEvents()
    	WindowState = FormWindowState.Minimized
    End Sub

    Kleiner Nachteil des Ganzen: Die Form "blinkt kurz auf" beim Start, wird aber dann minimiert und das Bild wird bei MouseOver gezeigt. Jetzt könnte man vielleicht vor dem Start die Form außerhalb des Bildschirms lokalisieren und wenn sie normal angezeigt werden soll auf dem Bildschirm...
    Grüße-



    Dietrich

    • Als Antwort markiert dherrmann Samstag, 11. März 2017 14:34
    Samstag, 11. März 2017 14:34