none
MsgBox kommt nur manchmal in den Vordergrund RRS feed

  • Frage

  • Hallo,

    ich verwende die MsgBox Funktion um Mitteilungen bei Eingaben etc. zu machen (ASP.Net 4). Dabei verwende ich die MsgBoxStyle-Enumerationswerte  um diese in den Vordergrund zu bringen.

    Folgende MsgBox beispielsweise

    Dim Meldung as Integer
    Meldung = MsgBox("Sie haben ein falsches Passwort eingegeben!", 65600, "Passwort falsch")

    Mit der MsgBoxStyle Enum Eigenschaft 65600 müsste die MsgBox im Vordergrund sowie mit dem Infozeichen erscheinen. Jedoch kommt sie in 50-60 % im Vordergrund und in den restlichen Fällen im Hintergrund. Man erkennt nur in der Taskleiste dass sie aufgerufen wurde. Erst durch anklicken in der Taskleiste kommt sie in den Vordergrund.

    Die MsgBoxStyle-Enumerationswerte sind in der folgenden Tabelle aufgeführt:
    http://msdn.microsoft.com/de-de/library/139z2azd(VS.80).aspx

    Also 65536 für Vordergrund und 64 für das Infozeichen = 65600

    Warum geht es nur in etwa 50-60 % der Fälle, bei derselben Schaltfläche. Gilt überigens für alle Schaltfläüchen und Felder die diese MsgBox Funktion aufrufen

    Grüße

    Lothar

    Montag, 19. Juli 2010 08:13

Antworten

  • Hallo Lothar,

    ich verwende die MsgBox Funktion um Mitteilungen bei Eingaben etc. zu machen (ASP.Net 4). Dabei verwende ich die MsgBoxStyle-Enumerationswerte  um diese in den Vordergrund zu bringen.

    ASP.NET wird auf einem Server ausgeführt. Die MsgBox erscheint auch nur auf diesem Server und ist daher eine ganz schlechte Idee. In ASP.NET verwendet man eher die Validation Controls, die den Anwender auf der Seite hinweisen, dass etwas schief gelaufen ist:

    Einführung in ASP.NET Validation Controls (Teil 1)
    http://www.aspheute.com/artikel/20000911.htm

    Meldungen kann man sonst auch via JavaScript ausgeben (alert(); bzw. confirm(); um eine Bestätigung abzufragen).


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Montag, 19. Juli 2010 08:34
    Beantworter
  • Hallo Lothar,

    ich hatte zuerst die Validationcontrols. Jedoch wollte ich die MsgBox verwenden um das ganze deutlicher hervorzuheben.

    Du kannst über die ValidationSummary festlegen, dass diese eine MsgBox mit den aufgetretenen Validierungsfehlern anzeigt:

    How to: Control Validation Error Message Display for ASP.NET Server Controls
    http://msdn.microsoft.com/en-us/library/1ze30x3t.aspx

    Nach deiner Antwort erscheint die Box auf einem PC, der übers Web auf meine Seite zugreift, überhaupt nicht.

    Richtig.

    Beim Testen auf meinem PC erscheint diese dann nur, da ich auf diesem PC auch den Server von Expressionweb oder Visualstudio bei der Browservorschau ausführe.

    Korrekt, da der IIS keine Interaktion mit dem Desktop vornimmt.

    Sehe ich das richtig. Dann frage ich mich, warum diese Funktion in ASP.Net überhaupt aufgenommen wurde.

    Die Methode ist Bestandteil der VB Runtime Funktionalität. Dass sie in Webanwendungen nicht wenigstens eine Warnung auslöst, halte auch ich für einen eklatanten Designfehler.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Montag, 19. Juli 2010 09:18
    Beantworter

Alle Antworten

  • Hallo Lothar,

    ich verwende die MsgBox Funktion um Mitteilungen bei Eingaben etc. zu machen (ASP.Net 4). Dabei verwende ich die MsgBoxStyle-Enumerationswerte  um diese in den Vordergrund zu bringen.

    ASP.NET wird auf einem Server ausgeführt. Die MsgBox erscheint auch nur auf diesem Server und ist daher eine ganz schlechte Idee. In ASP.NET verwendet man eher die Validation Controls, die den Anwender auf der Seite hinweisen, dass etwas schief gelaufen ist:

    Einführung in ASP.NET Validation Controls (Teil 1)
    http://www.aspheute.com/artikel/20000911.htm

    Meldungen kann man sonst auch via JavaScript ausgeben (alert(); bzw. confirm(); um eine Bestätigung abzufragen).


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Montag, 19. Juli 2010 08:34
    Beantworter
  • Hallo Thorsten,

    ich hatte zuerst die Validationcontrols. Jedoch wollte ich die MsgBox verwenden um das ganze deutlicher hervorzuheben.

    Nach deiner Antwort erscheint die Box auf einem PC, der übers Web auf meine Seite zugreift, überhaupt nicht.

    Beim Testen auf meinem PC erscheint diese dann nur, da ich auf diesem PC auch den Server von Expressionweb oder Visualstudio bei der Browservorschau ausführe. Sehe ich das richtig. Dann frage ich mich, warum diese Funktion in ASP.Net überhaupt aufgenommen wurde.

    Danke für die Antwort

    Grüße

    Lothar Alb

    Montag, 19. Juli 2010 09:08
  • Hallo Lothar,

    ich hatte zuerst die Validationcontrols. Jedoch wollte ich die MsgBox verwenden um das ganze deutlicher hervorzuheben.

    Du kannst über die ValidationSummary festlegen, dass diese eine MsgBox mit den aufgetretenen Validierungsfehlern anzeigt:

    How to: Control Validation Error Message Display for ASP.NET Server Controls
    http://msdn.microsoft.com/en-us/library/1ze30x3t.aspx

    Nach deiner Antwort erscheint die Box auf einem PC, der übers Web auf meine Seite zugreift, überhaupt nicht.

    Richtig.

    Beim Testen auf meinem PC erscheint diese dann nur, da ich auf diesem PC auch den Server von Expressionweb oder Visualstudio bei der Browservorschau ausführe.

    Korrekt, da der IIS keine Interaktion mit dem Desktop vornimmt.

    Sehe ich das richtig. Dann frage ich mich, warum diese Funktion in ASP.Net überhaupt aufgenommen wurde.

    Die Methode ist Bestandteil der VB Runtime Funktionalität. Dass sie in Webanwendungen nicht wenigstens eine Warnung auslöst, halte auch ich für einen eklatanten Designfehler.


    Thorsten Dörfler
    Microsoft MVP Visual Basic
    vb-faq.de
    Montag, 19. Juli 2010 09:18
    Beantworter
  • Hallo Thorsten,

    Danke. Das mit der MsgBox in den Validationelementen kannte ich nicht.

    Grüße

    Lothar

    Montag, 19. Juli 2010 10:40