Benutzer mit den meisten Antworten
TextBox.Name

Frage
-
Antworten
-
Hallo Peter,
Deine Frage ist unscharf formuliert. Meinst Du mit Enter das Ereignis, wenn die TextBox den Fokus erhält oder die Eingabetaste (Enter)?
Public Class Form1 Private Sub TextBox1_Enter(ByVal sender As Object, _ ByVal e As System.EventArgs _ ) Handles TextBox1.Enter MsgBox(DirectCast(sender, TextBox).Name) End Sub Private Sub TextBox1_KeyDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyEventArgs _ ) Handles TextBox1.KeyDown If e.KeyCode = Keys.Enter Then e.Handled = True MsgBox(DirectCast(sender, TextBox).Name) End If End Sub End Class
Thorsten Dörfler
Microsoft MVP Visual Basic- Als Antwort vorgeschlagen Elmar BoyeEditor Mittwoch, 27. Januar 2010 10:12
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 27. Januar 2010 15:19
Alle Antworten
-
Hallo Peter,
Deine Frage ist unscharf formuliert. Meinst Du mit Enter das Ereignis, wenn die TextBox den Fokus erhält oder die Eingabetaste (Enter)?
Public Class Form1 Private Sub TextBox1_Enter(ByVal sender As Object, _ ByVal e As System.EventArgs _ ) Handles TextBox1.Enter MsgBox(DirectCast(sender, TextBox).Name) End Sub Private Sub TextBox1_KeyDown(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyEventArgs _ ) Handles TextBox1.KeyDown If e.KeyCode = Keys.Enter Then e.Handled = True MsgBox(DirectCast(sender, TextBox).Name) End If End Sub End Class
Thorsten Dörfler
Microsoft MVP Visual Basic- Als Antwort vorgeschlagen Elmar BoyeEditor Mittwoch, 27. Januar 2010 10:12
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 27. Januar 2010 15:19
-
Hallo Thorsten,
besten Dank für die Informationen. folgender Code zeigt wie gewünscht den Namen der TextBox an.
Private Sub Herein(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.Enter
Dim tempCtrl As Control
Dim tbName As String
For Each tempCtrl In Me.Controls
tbName = DirectCast(sender, TextBox).Name ' DirectCast war mir bisher nicht bekannt
MsgBox(DirectCast(sender, TextBox).Name)
If tempCtrl.Name = "TextBox2" Then
tbName = tempCtrl.Name
Exit For
' Stop
End If
Next tempCtrl
MessageBox.Show("TextBox.Name: " & tbName) ' warum squiggly lines bei tbName ??
End Sub
Bitte noch eine weitere Frage beantworten:
wie lese ich den Namen einer Textbox auf From1 in die ich hereingehe 'Enter'
und noch eine (fast schon peinliche) Frage:
wie fange ich das Ereignis 'CR'' nach Eingabe eines Textes in eine TextBox ab ?
Besten Dank für die Unterstützung
und besten Gruß
Peter -
wie lese ich den Namen einer Textbox auf From1 in die ich hereingehe 'Enter'
Ich denke das zielt darauf ab, was Du hier bereits als neue Frage formuliert hast, oder?
wie fange ich das Ereignis 'CR'' nach Eingabe eines Textes in eine TextBox ab ?
Wenn es um die Erkennung der Eingabetaste geht, hatte ich Dir da bereits mit der zweiten Variante ein Beispiel gegeben. Ansonsten bitte genauer formulieren, worauf Du hinaus möchtest.
Btw. aus Deinem wilden Konstrukt werde ich nicht so ganz schlau. Die Schleife ist in der Variante nicht sinnvoll. Mit sender hast Du ja bereits die Referenz auf das Steuerelement und musst Dir das nicht erst aus der Auflistung heraussuchen. Wenn würde man hier auch nicht über den Namen gehen, sondern eher die Referenz prüfen:
If sender Is TextBox2 Then ...
Thorsten Dörfler
Microsoft MVP Visual Basic -
Hallo Thorsten,
recht vielen Dank für die Rückfragen.
in Excel und Access läuft bereits mein technischer Rechner, den ich mittels Visual Basic gern als EXE.-file umbauen möchte. Ich hoffe überhaupt durch VB in Zukunft variabler zu sein.
Mein Form1 enthält insgesamt 32 TextBoxes, davon sind 8 TextBoxes veränderbare Eingaben, der Rest sind Rechen-Ergebnisse.
Um nicht jede einzelne TextBox auf das Ereignis 'Enter' abfragen zu müssen und dadurch viel Code zu produzieren,
suche ich eine elegantere Methode und möchte den 'Namen' der jeweils durch entweder Tab-Taste oder 'Enter' angewählten TextBox (ControlType) ermitteln.
Daher meine Bitte: wie frage ich den .Namen einer angewählten TextBox ab ?
Die Eigenschaft 'TextBox.Name' ist mit meiner Frage n i c h t gemeint !
Danke, auch für die bisherige Geduld.
Viele Grüße
Peter
Wie ich jetzt feststelle, sind obige Fragen mit den bereits gegebenen Antwort-Vorschlägen aus dem Forum bereits beantwortet worden. Herzlichen Dank für Eure Mühe.
Beste Grüße
Peter