vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Beep bei MsgBox-Aufruf 
Autor: JAG
Datum: 30.08.14 13:34

Hallo zusammen,
habe ein kleines Problem mit dem Beep-Ton beim Aufruf einer MsgBox mittels Tastenabfrage aus einer
TextBox heraus.

Ich habe zum Testen mal folgendes erstellt:
Als Erstes ein Form mit 3 TextBoxen erstellt und dort folgenden VB-Code eingegeben:
Public Class Form1
 
    Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As _
      KeyEventArgs) Handles TextBox1.KeyDown
 
        If Not e.Control And e.Alt Then  ' <<< Alt-Taste gedrückt
            MsgBox("Aufruf MsgBox mit OK-Button, ohne Icon und ohne Sound")
        Else
            e.SuppressKeyPress = True  ' <<< Weiterleitung anderer Eingaben an 
            ' TextBox unterbinden
        End If
 
    End Sub
 
 
    Private Sub TextBox2_KeyDown(ByVal sender As System.Object, e As _
      KeyEventArgs) Handles TextBox2.KeyDown
 
        If Not e.Control And e.Alt And e.KeyCode = Keys.K Then  ' <<< Alt-Taste 
        ' und K-Taste gedrückt
            MsgBox("Aufruf MsgBox mit OK-Button, ohne Icon und ohne Sound")
        Else
            e.SuppressKeyPress = True  ' <<< Weiterleitung anderer Eingaben an 
            ' TextBox unterbinden
        End If
 
    End Sub
 
 
    Private Sub TextBox3_KeyDown(ByVal sender As System.Object, e As _
      KeyEventArgs) Handles TextBox3.KeyDown
 
        If e.Control And e.Alt And e.KeyCode = Keys.K Then  ' <<< AltGr-Taste 
        ' und K-Taste gedrückt
            MsgBox("Aufruf MsgBox mit OK-Button, ohne Icon und ohne Sound")
        Else
            e.SuppressKeyPress = True  ' <<< Weiterleitung anderer Eingaben an 
            ' TextBox unterbinden
        End If
 
    End Sub
 
End Class
Bei Aufruf der MsgBox aus TextBox1 und TextBox3 klappt das Bestens und es ist kein Beep-Ton zu hören.
Bei Aufruf der MsgBox aus TextBox2 ertönt jedoch ein Beep-Ton.

Ich kann mir nicht erklären wieso und habe auch nichts Erklärendes dazu gefunden, warum dieser Ton hier ertönt und bei den andern beiden nicht.
Wie kann ich diesen Beep-Ton abschalten bzw. unterdrücken ohne den Ton über die Systemsteuerung von Windows kompl. abzuschalten.

Vielleicht weiß einer von Euch was und kann mir dazu etwas sagen.

Gruß JAG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: Manfred X
Datum: 30.08.14 13:55

Hallo!

Hast Du es auch mit der Handled-Eigenschaft des Parameters probiert (Keypress-Event)?
http://www.vbarchiv.net/tipps/tipp_1918-beep-signalton-in-der-textbox-abschalten.html

Bei mir höre ich unter allen Bedingungen einen Sound.

Beitrag wurde zuletzt am 30.08.14 um 14:05:58 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: JAG
Datum: 30.08.14 14:31

Hallo Manfred,

diesen Tipp kenn ich, aber über das KeyPress-Event lassen sich nicht alle Tasten abfragen, wie z.B. die Alt-Taste, oder liege ich hier falsch ?

Also nimmt man hierfür dann das KeyDown-Event.

Wieso bei Dir unter allen Bedingungen ein Sound (Beep) zu hören ist, kann ich nicht nachvollziehen.

JAG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: GPM
Datum: 30.08.14 15:50

Die MsgBox bei TextBox2 ist es nicht.
Der Sound kommt auch ohne MsgBox bei einer
Alt+Taste-Kombination. Teste es mal.

MfG GPM
0
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: JAG
Datum: 30.08.14 16:33

Hallo GPM,

da hast Du zwar Recht, aber das beseitigt nicht das Problem, dass bei der Alt+Taste-Kombi ein Beep
kommt, den ich gerne unterdrücken möchte, ohne auf radikale Metoden (Systemsteuerung von Windows)
zurückgreifen zu müssen.
Solange keine Lösung in Sicht, werde ich für den Zweck wo ich es nutzen möchte die Kombination
AltGr + Taste nutzen, da hier kein Beep erfolgt.

Vielleicht hat aber doch noch jemand eine Lösung parat.
Die Hoffnung stirbt ja bekanntlich zuletzt.

Gruß JAG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: GPM
Datum: 30.08.14 17:50

Man kann den Sound zur Not auch per SendMessage-Befehl aus und einschalten.

MfG GPM
0
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: Kuno60
Datum: 30.08.14 22:22

Im Gegensatz zu WinXP, erzeugt die MsgBox bei Win7 keinen Sound, wenn sie kein Ikon zeigt.

Der Sound bei Textbox2 kommt von der Textbox selbst, da Alt+K als fehlerhafte Eingabe gewertet wird.
Der Sound kann mit "e.SuppressKeyPress = True" unterdrückt werden, allerdings blockiert hierbei die MsgBox die Rückgabe an die Textbox und es ist trotzdem ein Sound zu hören.
Ist nur seltsam, dass bei Textbox 1 und 3 kein Sound zu hören ist.

Abhilfe:
Setze im KeyDown-Ereignis "e.SuppressKeyPress = True" und öffne die MsgBox im KeyUp-Ereignis, dann ist kein Sound zu hören.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: JAG
Datum: 31.08.14 16:27

Hallo Kuno60,

hatte das mit dem KeyUp-Ereignis auch schon mal angedacht aber nicht ausgeführt, weil man sich ja
selbst immer sagt, es soll etwas ausgeführt werden wenn ich die Tastenkombi drücke.

Habe jetzt mal den Aufruf der MsgBox im KeyUp-Ereignis gelegt.
Das sieht zwar etwas blöd aus (für eine Tastenkombi-Abfrage erst ein KeyDown und dann ein KeyUp),
aber es geht.

Wenn man es nicht weiß, merkt man es beim Bedienen garnicht, da man die Tasten nach dem Betätigen,
ja sofort wieder loslässt.

Gruß JAG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: DerAndi
Datum: 31.08.14 17:34

Hallo

Noch eine Anmerkung zu deinem Punkt, das man beim KeyPress Ereignis nicht ermitteln kann, ob die ALT oder Control Taste gedrückt wurde.

Du kannst bei deiner Abfrage auch diese Werte über My.Computer.Keyboard abfragen (bsp. ob die Control, die Shift oder auch die ALT Taste gedrückt wurde).

Gruß
Andi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: effeff
Datum: 01.09.14 10:27

Zur Not kann man sich die MessageBox auch selber zusammen bauen und bekommt dann sowieso keinen Sound beim Anzeigen derselben...

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Beep bei MsgBox-Aufruf 
Autor: JAG
Datum: 01.09.14 13:31

Hallo Andi,

habe im KeyPress-Ereignis mal deinen Vorschlag eingesetzt und hier über My.Computer.Keyboard.AltKeyDown
versucht die Alt-Taste wie folgt abzufragen:
    Private Sub TextBox2_KeyPress(ByVal sender As System.Object, e As _
      System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
 
        If My.Computer.Keyboard.AltKeyDown Then
            MsgBox("Aufruf MsgBox mit OK-Button, ohne Icon und ohne Sound")
        Else
            e.Handled = True
        End If
 
    End Sub
Geht nicht! AltKeyDown wird hier nicht abgefragt!


Hallo effeff,

habe auch Deinen Vorschlag ausprobiert, indem ich anstatt der MsgBox, eine auf Basis eines Formulars
erstellte eigene Box genommen habe.
Geht auch nicht! Der Beep kommt nach wie vor!


Es wird schon so sein, wie von Kuno beschrieben, dass das an der TextBox und nicht an der MsgBox liegt.


Gruß JAG
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel