AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [VB.net] beep bei Enter Eingabe in Textbox unterdrücken
Thema durchsuchen
Ansicht
Themen-Optionen

[VB.net] beep bei Enter Eingabe in Textbox unterdrücken

Ein Thema von MrKnogge · begonnen am 25. Mär 2008 · letzter Beitrag vom 25. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#1

[VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 13:54
Moin,

ich muss mich derzeit ein wenig mit VB-net herumschlagen, und stehe vor einem kleinen Problem. Ich möchte eine Eingabe in einem Editfeld mit Enter abschliesen, soweit kein Problem, doch möchte ich hier keinen System beep haben. Unter Delphi hab ich hier immer mit erfolg key auf #0 gesetzt, doch in VB.net scheint das nicht zu funktionieren.

Code:
    Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Try
            If e.KeyChar = Chr(13) Then
                'mach irgendwas
                e.KeyChar = Chr(0)
            End If
        Catch
            MsgBox("Keine gültige Eingabe")
        End Try
    End Sub
Weis jemand von euch rat ?

Verwendete Version VisualBasic.Net 8.0 Express Edition
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 14:00
Hallo,

Probier mal das:

Code:
If e.KeyChar = Chr(13) Then
  e.Handled = True
  e.KeyChar = Chr(0)
End If
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 14:02
Ich habe von VB.NET zwar keine Ahnung, hab aber im Internet was gefunden:
Code:
e.SuppressKeyPress = True
Probier mal, obs funktioniert.

Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 14:26
Danke toms das war es, man muss also noch mitteilen, ob die Veränderung übernommen werden muss, auch nicht schlecht.
@Fussball-Robby "SuppressKeyPress" gibt es da nicht, aber dennoch danke.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#5

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 14:37
Eigentlich dürfte es nicht piepen, wenn du Handled auf true setzt - ein zusätzliches Setzen des KeyChar auf 0 sollte nicht notwendig sein.

Edit:
Außerdem prüft man nicht auf chr(13), sondern auf Keys.Return bzw. Keys.Enter - wenn die Syntax unter VB.NET genauso ist
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#6

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 14:47
Tatsache, kannst du mir das auch erklären ?
Ich ging bisher immer davon aus, es beep weil enter gedrückt wurde und wenn man die Taste dann quasi ändert, bleibt der beep aus.

Keys kannte ich noch nicht, beschäftige mich bisher nur wenige Stunden mit VB und mit .net hatte ich auch noch nichts am Hut.
Aber was den nun Keys.Return oder Keys.Enter ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 14:53
Ich glaube, Keys.Return. Wie gesagt, ich kenne mich mit VB.NET nicht aus, aber ich denke, wenn man e.Handled = True setzt, sagt man dem Programm, dass das Drücken der Taste bereits behandelt wurde, d.h. der Tastendruck wurde schon ausgewertet, damit das Programm einen bereits mauell ausgewerteten Tastendruck nicht noch mal behandelt.

Mfg
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#8

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 14:56
Keys.Return ist die große Eingabetaste, während Enter die auf dem Numblock ist... oder so ähnlich *g*
Keys ist ein Enum, der Konstanten für alle Tasten enthält. Der KeyCode in deinen EventArgs ist von diesem Typ.

chr(13) fordert genaues Wissen darüber, welcher Keycode einer Taste zugrunde liegt - das ist schlecht. Auch wenn es unwahrscheinlich ist, dass sich der Code der Eingabetaste mal ändert. Keys.Return müsste jedenfalls das von dir gesuchte sein - ich weiß ehrlich gesagt nicht, ob es sinnvoll ist, auch auf Keys.Enter zu testen.
Edit: Ich las gerade, dass die Werte von Keys.Return und Keys.Enter identisch sind. Damit wäre eine Unterscheidung hinfällig.

Der Beep kommt nicht dadurch, dass jemand Enter drückt, sondern dadurch, dass die Behandlungsroutine, die nach deinem Ereignishandler dran kommt, bei einem Enter piept. Wenn du jedoch Handled auf true setzt, dann sagst du dieser Routine, dass du das Ereignis schon behandelt hast und sie nichts weiter tun soll, also ist das auch genau das, was du suchst.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#9

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 15:21
Danke, da kommt Licht ins Dunkle.
Aber e.KeyChar und Keys.Return sind nicht kompatibel, bzw. der Vergleichsoperator ist nicht implementiert. Und e.KeyChar.ToString() = Keys.Return.ToString() funktioniert ebenfalls nicht.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: [VB.net] beep bei Enter Eingabe in Textbox unterdrücken

  Alt 25. Mär 2008, 15:27
Wirf einmal einen Blick in die Hilfe, unter KeyChar findest du genau dein Problem gelöst - sowohl in C# als auch VauBe.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz