Mehrer MsgBoxen gleichzeitig ohne immer OK zu klicken

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Mangafreak1995.

    Mehrer MsgBoxen gleichzeitig ohne immer OK zu klicken

    Also mir war gerade bisschen fad und dann hab ich halt ein kleiner Programm gemacht wo man z.B. 20 eingibt und dann kommen 20 MsgBoxen. Nur mein Problem ist das jedes mal wenn eine MsgBox geöffnet wird, dass ich auf OK klicken muss das die nächste MsgBox erscheint.
    Hab das ganze mit einer For...Next Schleife gemacht.
    Ich hoffe ihr wisst was ich mein.

    Hier der Code den ich bisher habe:

    Quellcode

    1. Dim i As Integer
    2. Dim wert As Integer
    3. For i = 1 To txtZahl.Text
    4. wert += 1
    5. MsgBox("MsgBox: " & wert, , "MessageBox")
    6. Next
    nimm nächstes Mal bitte den [ vb]-Tag

    ich würde es so lösen
    ob das funktioniert weiß ich nicht

    VB.NET-Quellcode

    1. Dim i As Integer
    2. Dim wert As Integer
    3. For i = 1 To txtZahl.Text
    4. wert += 1
    5. ShowAMsg("MsgBox: " & MsgText, EinIntegerFürMeinDesign_IstSicherBesserDaVariabeler , MeinEigenerTitel)
    6. Next

    ShowAMsg-Sub:

    VB.NET-Quellcode

    1. Public Sub ShowAMsg(ByVal text as String, ByVal style as MsBoxStyle, ByVal caption as String)
    2. MsgBox(text, style, caption)
    3. End Sub
    Mangafreak, die Lösung von dir ist eigentlich exakt die selbe wie die von t-bone, nur dass deine Messagebox in einer Methode ist. Also eigentlich vollkommener Quatsch.

    Machs mit einer eigenen Form, die du als Messagebox behandelst. Text an eine andere Form übergeben findest du genug im Forum und eine Position sollte immer verschieden sein. Am besten ein Random auf ein bestimmten bereich, nicht dass die Messageboxen(also deine Messagebox-Form) übereinander sind.

    //EDIT: Hier mal ein Beispiel:

    Erstelle ein Projekt mit 2 Formen

    Form1 und Form2
    Form1 ist deine Hauptform und Form2 ist deine "Messagebox". Die grösse solltest du auch einer Messagebox anpassen damits bisschen schöner aussieht.

    in Form2 erstellst du noch ein Button (Button1) und dort führst du als Klickaktion Me.Close() aus,
    ein Label (Label1), dass nachher die Nachricht anzeigt.

    In Form1 fürhst du dann irgendwo diesen Code:

    VB.NET-Quellcode

    1. Dim Msg As Form2 'Neue Form definieren
    2. For i As Integer = 0 To 20 'Anzahl der Messageboxen, die angezeigt werden sollen.
    3. Msg = New Form2 'Neue Instanz der Form erstellen.
    4. Msg.Label1.Text = "Hallo " & i 'Label1 in deiner Form2 beschriften: Übrigens ist das die gruseligste Methode die man machen kann. Ist aber nur zum testen.
    5. Msg.Show() 'Deine Form2 als Messagebox anzeigen.
    6. Threading.Thread.Sleep(200) 'Einen kleinen Timeout einbauen, damit das nicht so hektisch aussieht.
    7. Next


    Das wars eigentlich auch. Nimm dir das als Beispiel und du kannst da tolle Dinge machen.
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer

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

    sry ich dacht danach wird nicht gewartet bis der Sub durch ist