[Frage]Minimieren Funktion

  • VB.NET

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von Flyff2009.

    [Frage]Minimieren Funktion

    Ich weiß das das ne dumme Frage is Xd aber:

    Ich würde gerne wissen wie man die Minimieren Funktion(wie das Event dazu heißt) anspricht.
    Das heißt wie man z.b. verhindert das sich die Form beim klciken auf minimieren minimieert und was anderes macht.

    MFG Schwammekk
    Hi, man könnte über Das event resize event, oder über wndproc..

    VB.NET-Quellcode

    1. Private Const WM_SYSCOMMAND As Int32 = &H112
    2. Private Const SC_MAXIMIZE As Int32 = &HF030
    3. Private Const SC_MINIMIZE As Int32 = &HF020
    4. Private Const SC_RESTORE As Int32 = &HF120
    5. Private Const SC_CLOSE As Int32 = &HF060
    6. Protected Overrides Sub WndProc(ByRef m As Message)
    7. If m.Msg = WM_SYSCOMMAND Then
    8. Select Case m.WParam.ToInt32()
    9. Case SC_MINIMIZE
    10. Dim NewParam As IntPtr
    11. NewParam = IntPtr.op_Explicit(SC_RESTORE)
    12. Debug.WriteLine("Form würde minimiert werden")
    13. m.WParam = NewParam
    14. End Select
    15. End If
    16. MyBase.WndProc(m)
    17. End Sub


    gruss Mono
    Das ist meine Signatur und sie wird wunderbar sein!
    thx an mono

    @ Singu das weiß ich, ich will aber ne andere funktion aufrufen stattdessen^^

    Edit: Hab noch ne Frage
    Wen ich darüber jetzt zum beipiel die Form in ein menüstrip eintrag packen würde,
    das heißt ich adde nen neuen menüstrip eintrag packe, wie bestimme ich dann,
    was die funktion machen soll, wenn ich auf das neu erstellte menüstrip item klicke?

    MFG Schwammekk

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

    @markushettmann: das funktioniert aus mehreren Gründen nicht: a) möchte der Threadersteller die Minimieren-Schaltfläche umbelegen, b) würde deine Variante greifen, wenn die Form bereits minimiert ist (->Minimieren-Animation, dann wieder zurück auf normal.)

    wie bestimme ich dann, was die funktion machen soll, wenn ich auf das neu erstellte menüstrip item klicke

    Addhandler
    ok danke ich versuchs wenn nich melde ich mich nochma^^

    Edit: Ich glaube bin zu doof kann mir wer ma nen beispiel geben wie ich das so machen könnte:
    Ich minimiere ne form diese geht dann auf form 2 in ein menüstrip indem ein neues item geadet wird mit dem name der form1 und form 1 wird versteckt.
    Wenn man dann im menü strip auf den neu geaddeten anmen geht öfnnet sich die form 1 wieder.

    Wäre cht nett :thumbsup:

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

    So:

    Quellcode

    1. Private Const WM_SYSCOMMAND As Int32 = &H112
    2. Private Const SC_MAXIMIZE As Int32 = &HF030
    3. Private Const SC_MINIMIZE As Int32 = &HF020
    4. Private Const SC_RESTORE As Int32 = &HF120
    5. Private Const SC_CLOSE As Int32 = &HF060
    6. Protected Overrides Sub WndProc(ByRef m As Message)
    7. If m.Msg = WM_SYSCOMMAND Then
    8. Select Case m.WParam.ToInt32()
    9. Case SC_MINIMIZE
    10. Form1.MenuStrip1.Items.Add("Form2")
    11. End Select
    12. End If
    13. MyBase.WndProc(m)
    14. End Sub


    sorry wens bischen C&P is^^
    Nochmal ganz genau:

    Du hast Form1 und Form2
    Form2 wird aus Form1 geöffnet, und wenn man dann Form2 minimiert soll diese in Form1 in einem MenüstripItem sein, das bei OnClick Form2 wieder zeigt ?

    Ich verstehe noch nicht ganz was du erreichen willst ?
    Denn die win message würde ich nur abfangen, wenn du das minimieren verhindern willst, anderfalls nimm das Form_resize event, frage in diesem ab ob der winstate minimize ist, wenn ja, dann -> als menuitem adden.
    Das ist meine Signatur und sie wird wunderbar sein!
    Ich minimiere ne form
    "Form minimieren" abfragen (das kannst z.b über API abfragen oder über windowState.Minimized
    (Code muß noch umgeschrieben und angepasst werden)


    dann auf form 2 in ein menüstrip indem ein neues item geadet wird mit dem name der form1
    Item adden (weitere Support in MSDN/google)


    form 1 wird versteckt.
    Form1.Hide oder Form1.Visible = False


    Wenn man dann im menü strip auf den neu geaddeten anmen geht öfnnet sich die form 1 wieder.
    Verwende Addhandler
    Form1.Visible = True


    Am besten fängst hier an: openbook.galileocomputing.de/e…09c12a7839b23b6407048bb68

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

    Hättest du dir mal

    VB.NET-Quellcode

    1. MenuStrip1.Items.Add()


    Näher angeschaut, dann wärst du auch drauf gekommen das:

    VB.NET-Quellcode

    1. MenuStrip1.Items.Add("NAME", Nothing, AddressOf showform) 'NAME DES ITEMS, IMAGE FÜR DAS ITEM, ONCLICK HANDLER FÜR DAS ITEM
    2. Private Sub showform()
    3. 'tu was bei Click
    4. End SUb


    Dir wird schon einen Handler für das Click Event angeboten bei den Überladungen für .add

    gruss
    Das ist meine Signatur und sie wird wunderbar sein!
    so habn bischen rumgetüftelt und dabei is das rausgekommen:

    Quellcode

    1. AddHandler Desktop.RechnerToolStripMenuItem.Click,


    Danach müsste noch AddadressOf kommen aber ich weiß nich wie ich das beim menustrip machen soll, den beiner picturebox is es ja zum beispiel nur

    Quellcode

    1. picturebox_click


    Wäre nett wen wer helfen könnte.


    Edit: sry hab dein post verpasst XD

    Edit2: Mit deinem Code wird auch nur die Form in das menüstrip geaddet und sonst nichts.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Flyff2009“ ()