none
Wie Signal / Beep unterdrücken, wenn ich in einer Textbox ENTER drücke? RRS feed

  • Frage

  • Hi Leute,

    ich habe verschiedene Textboxes und immer wenn ich die Eingabe mit ENTER abschließe erklingt ein Beep aus den Lautsprechern. Das will ich aber nicht. Wie bekomme ich diesen Ton weg?

    Die Textbox hat ein Validating und KeyDown Ereignis. Im KeyDown erlaube ich auch das betätigen der RETURN-Taste:

    else if(e->KeyCode == Keys::Return)
     {
     e->SuppressKeyPress = false;
     }
    
    Aber der Beep kommt dennoch.

    Dienstag, 12. April 2011 07:27

Antworten

Alle Antworten

  • Hallo Seppl der Programmierer,

    kann es sein, dass die TextBoxen an dieser Stelle den Focus nicht mehr haben?

    Viele Grüße
    Holger M. Rößler

    Mittwoch, 13. April 2011 17:18
  • Hallo Holger,

    den Focus hat die jeweilige Textbox noch. Habe jetzt mal alles soweit gekürzt, sodass ich nur noch ein KeyDown-Ereignis habe, mit folgendem Code:

    System::Void Form1::textBoxBit_KeyDown(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e)
     {
    	if(e->KeyCode == Keys::Return)
    	 {
    	 e->SuppressKeyPress = false;
    	 }
    
    tja... und dennoch kommt dieser Beep/Fehler Ton. Habe auch mit AcceptReturn true/false rumprobiert, bringt keine Änderung. Wenn ich das KeyDown-Ereignis der Textbox entferne, kommt der Beep trotzdem noch. Keine Ahnung... hat jemand eine Idee wie ich das wegbekomme, oder warum es überhaupt standardmäßig beept wenn man ENTER drückt?

    Donnerstag, 14. April 2011 11:20
  • Nur eine Vermutung:
    Vielleicht möchte Dein Form den Default Button auslösen, (das ist bei einem Dialog ja die OK Taste), kann dies aber nicht und deshalb der Beep.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 14. April 2011 12:32
    Moderator
  • Ähm... wonach müsste ich da suchen um das zu prüfen? Oder wie kann ich diesen Default Button ausstellen?
    Freitag, 15. April 2011 11:27
  • Das Problem ist umgekehrt. Du hast keinen Default Button deshalb der Beep.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 15. April 2011 13:38
    Moderator
  • Leider weiß ich nicht richtig was ihr mit diesem "Default Button" meint, den kenne ich anscheinend nicht. Wo muss ich danach suchen, ist das eine Einstellung der Textbox, der Form oder des Projektes? Hab die auch gesucht und gegooglet danach, aber nicht wirklich was brauchbares gefunden.

    Meint ihr den "AcceptButton" und den "CancelButton"? Falls ja: Beim Drücken der Enter-Taste würde ja dann das ganze Fenster/Form mit OK beendet werden... das möchte ich aber nicht.

    Dienstag, 19. April 2011 06:50
  • Habe gerade testweise ein komplett neues Projekt erstellt und eine Textbox eingefügt, um einen eventuell tief verborgenen Fehler meines bisherigen Programms auszuschließen. Und immernoch kommt dieser Beep wenn ich in der Textbox ENTER drücke, egal ob mit KeyDown-Methode (und darin "e->Handled = true;" oder "e->SuppressKeyPress = false;") oder ohne. Wie bekommt man diesen Beep weg? :/

    Dienstag, 19. April 2011 07:32
  • Erst einmal frohe Ostern nachträglich an alle. Die neue Woche beginnt und gleich steh ich wieder vor dem Beep-Problem... jippi
    Hat keiner eine Idee woran dass mit dem Beep liegt? Was war mit diesem Default Button gemeint, kann mir da jemand auf die Sprünge helfen?

    Dienstag, 26. April 2011 06:32
  • Meint ihr den "AcceptButton" und den "CancelButton"? Falls ja: Beim Drücken der Enter-Taste würde ja dann das ganze Fenster/Form mit OK beendet werden... das möchte ich aber nicht.

    Hallo Seppel der Programmierer,

    Stelle mal die Form.AcceptButton-Eigenschaft auf einen „blinden“ Button (der nichts macht) , dann hast Du das „Beep“ los.

    Lies mal folgendes: How to: Designate a Windows Forms Button as the Accept Button Using the Designer (…On any Windows Form, you can designate a Button control to be the accept button, also known as the default button…)

    Grüße,

    Robert

    Mittwoch, 18. Mai 2011 07:50
    Moderator