Problem mit mehreren Forms

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Sizco.

    Problem mit mehreren Forms

    Hallo,

    meine Anwendung besteht aus mehreren Forms. Eine Form (die Haupt-Form: Form1) wird immer angeziegt. Über diese gelangt man
    auf die anderen Forms. Das realisiere ich mit folgendem Code:

    VB.NET-Quellcode

    1. form2.Visible = True
    2. Me.Enabled = False (form1)
    3. form2.Focus()



    Die Eigenschaft "ShowInTaskbar" ist nur bei der Hauptform (Form1) auf True gesetzt. Wenn ich zu dem Zeitpunkt, in dem eine andere Form angezeigt wird, innerhalb Windows die Fenster wechsle und wieder in mein Programm zurückkomme (über die Taskbar), dann sehe ich nur die deaktivierte Form1. Um auf die aktuell aktivierte Form zu gelangen, muss ich die Tastenkombi ALT+Tab drücken.

    Gibt es eine Möglichkeit, die aktuell aktivierte Form anzuzeigen, wenn man auf das Taskbar Icon klickt?

    Vielen Dank.
    Mach es doch so:

    VB.NET-Quellcode

    1. form2.Visible = True
    2. Me.Enabled = False (form1)
    3. form2.Focus()
    4. Form2.ShowInTaskbar = True
    5. Me.ShowInTaskbar = False


    dann wird nur Form2 in der Taskleiste angezeigt, wenn du dann da drauf klickst, kommt auch nur Form2. :D
    Hallo Chris213,

    Vielen Dank für deinen Vorschlag. Funktionert an sich, jedoch ergibt sich dadurch ein kurzes Flackern der Fenster. Vermutlich schaltet er im Hintergrund nochmal hin und her.
    Ich habe es jetzt anders gelöst. Und zwar bediene ich mich dem Activiate Ereignis von Form1:

    VB.NET-Quellcode

    1. Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
    2. If Me.Enabled = False Then
    3. If Form2.Visible = True Then
    4. Form2.Focus()
    5. End If
    6. If Form3.Visible = True Then
    7. Form3.Focus()
    8. End If
    9. .
    10. .
    11. .
    12. End If
    13. End Sub


    Wenn Form1 nicht aktiviert ist, dann wird geschaut, welche andere From zur Zeit sichtbar ist, und diese wird dann fokussiert.
    Das klappt prima.

    MfG