Message Boxen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von jaguar100.

    Message Boxen

    Hi,

    wie kann man eine Msgbox per Programmcode bestätigen ?

    Ich wollte ein Programm schreiben, dass ich mehrere Msg Boxen hintereinander mache der Benutzer sie nicht selber bestätigen muss sonder sie nur kurz zu sehen sind und dann durch eine andere "abgelöst" werden

    VB.NET-Quellcode

    1.  Dim fensterabfrage As Boolean
    2. If fensterabfrage(MessageBox.Show) = True Then SendKeys("ENTER")
    3.   MessageBox.Show("Verbindung wurde hergestellt")
    4.   MessageBox.Show("Download wird gestrartet")
    5.   MessageBox.Show("Downloading ")
    6.   MessageBox.Show("Downloading with 148 KBits...")
    7.   MessageBox.Show("17 von 100 Prozent fertig ")
    8.   MessageBox.Show("34 von 100 Prozent fertig ")
    9.   MessageBox.Show("48 von 100 Prozent fertig ")


    so gehts nicht dann sagt er immer:

    Fehler 1 Der Ausdruck ist kein Array oder keine Methode und kann keine Argumentliste haben.

    Fehler 2 Fehler bei der Überladungsauflösung, da keine zugreifbare "Show" diese Anzahl von Argumenten akzeptiert.


    mit einer Progressbar will ich es nicht machen
    Die Messagebox ist eigentlich dazu da, dir eine Info zu geben, die du als Benutzer bestätigen solltest. Diese automatisch wegzuklicken ist eine Zweckentfremdung.
    (Wie ein Pflaster über einer Türklingel :P )

    Du könntest dir deine eigene "Messagebox" schreiben. Für das Beispiel brauchst du nur eine zusätzliche Form und ein Label.

    VB.NET-Quellcode

    1. Public Class MeineMessageBox
    2. Sub showme(ByVal t As String)
    3. lblMessage.Text = t
    4. BringToFront()
    5. End Sub
    6. End Class


    Aufruf der Funktion

    VB.NET-Quellcode

    1. Public Class frmMessageboxDEMO
    2. Dim mbox As New MeineMessageBox
    3. Private Sub btDemostart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btDemostart.Click
    4. mbox.Show() 'Anzeigen der neuen Form
    5. mbox.showme("Verbindung wurde hergestellt")
    6. mbox.showme("Download wird gestrartet")
    7. mbox.showme("Downloading ")
    8. mbox.showme("Downloading with 148 KBits...")
    9. mbox.showme("17 von 100 Prozent fertig ")
    10. mbox.showme("34 von 100 Prozent fertig ")
    11. mbox.showme("48 von 100 Prozent fertig ")
    12. End Sub
    13. End Class

    Übrigens:

    Verbindung wurde hergestellt, "Download wird gestrartet", "Downloading with 148 KBits...", "17 von 100 Prozent fertig "
    Deutsch und Englisch gemischt ist ja jetzt modern. Aber du könntest auch gegen den Strom schwimmen, und dich für... z.B. Deutsch entscheiden.
    von der_Kurt:
    ie Messagebox ist eigentlich dazu da, dir eine Info zu geben, die du als Benutzer bestätigen solltest. Diese automatisch wegzuklicken ist eine Zweckentfremdung.
    hast schon recht...aber der sinn der vorhaben von threasteller habe nicht verstanden, was das "automatischen weg klicken" bringen soll. :D
    Danke für die vielen antworten leider bringen die mich nicht wirklich weiter

    SystemUnknow schrieb:


    probiere mit Maus_Klick sumulation: vbarchiv.net/tipps/details.php?id=223

    hört sich gut an allerdings wie finde ich die richtige Position?

    SystemUnknow schrieb:

    hast schon recht...aber der sinn der vorhaben von threasteller habe nicht verstanden, was das "automatischen weg klicken" bringen soll. :D
    Ja das man sich nicht ständig durchklicken muss ?!?!

    Dancger schrieb:

    MessageBox.Show("Nachricht","Titel", Button(s) , Symbol)
    Ja toll, super, danke
    Anderer Vorschlag:
    Mach es so wie Kurt es vorgeschlagen hat, nimm aber keine Form sondern ein Dialogfeld. In diesem Dialogfeld schreibst du einen timer nebst Tick-Event, dass den Timer wieder abschaltet und das Dialogfeld schließt:

    VB.NET-Quellcode

    1. WithEvents AusblendTimer As New Timer
    2. Private Sub AusblendTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AusblendTimer.Tick
    3. AusblendTimer.Stop()
    4. Me.Close()
    5. End Sub

    Dann überschreibst du die noch Showdialog-Methode:

    VB.NET-Quellcode

    1. Overloads Sub ShowDialog(ByVal Titel As String)
    2. Me.Text = Titel
    3. Timer1.Interval = 2000
    4. Timer1.Start()
    5. Me.ShowDialog()
    6. End Sub
    Hier wird der Timer gestartet und das Dialogfeld geöffnet.

    Der Aufruf vons ganze aus deinem Form geht dann sooo

    VB.NET-Quellcode

    1. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    2. Dialog1.ShowDialog("1")
    3. Dialog1.Showdialog("2")
    4. Dialog1.Showdialog("3")
    5. Dialog1.Showdialog("4")
    6. End Sub

    Es werden jetze nacheinander die Dialogfelder für jeweils 2 sek geöffnet. Das funzt so, macht aber irgendwie keinen Sinn. Du könntest genauso alle Infos in einer einzigen Messagebox anzeigen lassen...aber des Menschen Wille...
    Fiel Fergnügen
    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup: