Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  mit Return zwischen Textboxen wechseln

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  mit Return zwischen Textboxen wechseln (2907 mal gelesen)
Martin L
Mitglied
Maschinenbauingenieur


Sehen Sie sich das Profil von Martin L an!   Senden Sie eine Private Message an Martin L  Schreiben Sie einen Gästebucheintrag für Martin L

Beiträge: 266
Registriert: 19.02.2002

erstellt am: 15. Okt. 2004 11:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute,

ich versuche gerade die ersten Hürden der VB-Programmierung zu bezwingen und habe folgendes Problem:

In einer Eingabemaske sind mehrer Textboxen, welche über den TabIndex wunderbar in einer sinnvollen Reihenfolge angesteuert werden können.
Leider wollen mehrere Kollegen mit Hilfe der Return-Taste in das nächste Eingabefeld wechseln.

Frage:
Ist es möglich, dass ich z.B. mit der KeyAsci die Return-Taste abfrage und dann automatisch zum nächsten TabIndex springe?

Gruss Martin

------------------
SE V15-SP4; keine Zusatzmodule
P4 3,0GHz; 1024MB; nVidia quadro 4 980xgl; Win2000 SP3

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Mitglied
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 15. Okt. 2004 12:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin L 10 Unities + Antwort hilfreich

Hi Martin,

kann das Problem nicht ganz nachvollziehen ???
... bei mir funktionieren Tab, als auch Enter und Return.

lg Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Martin L
Mitglied
Maschinenbauingenieur


Sehen Sie sich das Profil von Martin L an!   Senden Sie eine Private Message an Martin L  Schreiben Sie einen Gästebucheintrag für Martin L

Beiträge: 266
Registriert: 19.02.2002

erstellt am: 15. Okt. 2004 13:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nancy,

wenn ich mein VB-Programm starte und den ersten Eingabewert mit Return bestätige erhalte ich nur ein System-Beep und der Cursor ist immer noch im alten Feld.
Erst mit TAB (oder natürlich Maus) gelange ich ins nächste Feld.

Habe ich vielleicht irgendwelche Grundeinstellungen nicht?

Gruss Martin

------------------
SE V15-SP4; keine Zusatzmodule
P4 3,0GHz; 1024MB; nVidia quadro 4 980xgl; Win2000 SP3

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Mitglied
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 15. Okt. 2004 14:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin L 10 Unities + Antwort hilfreich

Hi Martin,

also ich hab hier zwar nur VBA,
jedenfalls an den Eigenschaften der Textboxen hab' ich nix geschraubt,
guck' mal welchen Wert TabStop bei Dir hat, sollte auf true stehen.

lg Nancy 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pablo
Mitglied
Techniker


Sehen Sie sich das Profil von pablo an!   Senden Sie eine Private Message an pablo  Schreiben Sie einen Gästebucheintrag für pablo

Beiträge: 453
Registriert: 23.01.2002

erstellt am: 15. Okt. 2004 15:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin L 10 Unities + Antwort hilfreich

Nancy,

die Textboxen sind tatsächlich unterschiedlich (VB, bzw. MSForms)

MartinL

Mit Enter weiterspringen:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 And Index = 0 Then
    Text2.SetFocus
  End If
End Sub

System-Beep unterdrücken: http://www.aboutvb.de/khw/artikel/khwbeep.htm

HTH pablo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

startrek
Mitglied
Architekt


Sehen Sie sich das Profil von startrek an!   Senden Sie eine Private Message an startrek  Schreiben Sie einen Gästebucheintrag für startrek

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 15. Okt. 2004 16:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin L 10 Unities + Antwort hilfreich

Aha, Danke Pablo
Ich dachte - und die VB Box lachte ;-)

lg Nancy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Martin L
Mitglied
Maschinenbauingenieur


Sehen Sie sich das Profil von Martin L an!   Senden Sie eine Private Message an Martin L  Schreiben Sie einen Gästebucheintrag für Martin L

Beiträge: 266
Registriert: 19.02.2002

erstellt am: 15. Okt. 2004 17:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Pablo,

Dein Beispiel konnte ich nachvollziehen; leider komme ich damit bei meinem Progrämmchen nicht weiter.
Ich habe mehrer Berechnungsformulare entworfen, auf denen so um die 10 Eingabefelder sind (die Eingabefelder sind keine Steuerelemente).
Wenn ich Dein Beispiel richtig verstanden habe, muss ich nun für jedes Eingabefeld festlegen, was bei der gedrückten Return-Taste passieren soll; das ist schon eine Menge arbeit(und ich habe die Textfelder auch noch sprechend benannt).

Ich spreche mal so als Anfänger frei raus, wie ich mir das vorstelle:

- der Cursor befindet sich im Eingabefeld, TabIndex z.B. 6
- der Anwender gibt einen Wert ein und drückt Return

Nun möchte ich in VB folgendes abbilden:
- das Programm weiss, dass das aktive Eingabefeld TabIndex 6 hat
- das Programm soll nun, da Return gedrückt, zum nächsten TabIndex

Gehe ich da zu blauäugig ran oder gibt es da eine einfache Lösung?

------------------
SE V15-SP4; keine Zusatzmodule
P4 3,0GHz; 1024MB; nVidia quadro 4 980xgl; Win2000 SP3

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pablo
Mitglied
Techniker


Sehen Sie sich das Profil von pablo an!   Senden Sie eine Private Message an pablo  Schreiben Sie einen Gästebucheintrag für pablo

Beiträge: 453
Registriert: 23.01.2002

Win10
Office 365
SE 2020

erstellt am: 15. Okt. 2004 18:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin L 10 Unities + Antwort hilfreich

Nancy,

bei jedem neuen Enter-Hieb
macht meine Textbox leise Beep

MartinL,

geht auch:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    GetNextControl (Me.ActiveControl.TabIndex + 1)
  End If
End Sub

Private Sub Form_Load()
  Me.KeyPreview = True
End Sub

Public Sub GetNextControl(ByVal TabIndex As Long)
Dim mC As VB.Control
  For Each mC In Me.Controls
    If mC.TabIndex = TabIndex Then
      mC.SetFocus
      Exit For
    End If
  Next
End Sub

lg pablo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Martin L
Mitglied
Maschinenbauingenieur


Sehen Sie sich das Profil von Martin L an!   Senden Sie eine Private Message an Martin L  Schreiben Sie einen Gästebucheintrag für Martin L

Beiträge: 266
Registriert: 19.02.2002

erstellt am: 16. Okt. 2004 07:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Pablo,
es ist zum Haareraufen.

Ich habe Deinen Code sofort ausprobiert und nach dem ersten Return springt der Cursor direkt in das nächste Eingabefeld.
Doch danach tut sich nichts mehr,

... Laufzeitfehler '438',
Objekt unterstützt diese Methode oder Eigenschaft nicht.

Was hat das denn nun wieder zu bedeuten?

Ein schönes Wochenende wünscht Euch Martin

------------------
SE V15-SP4; keine Zusatzmodule
P4 3,0GHz; 1024MB; nVidia quadro 4 980xgl; Win2000 SP3

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pablo
Mitglied
Techniker


Sehen Sie sich das Profil von pablo an!   Senden Sie eine Private Message an pablo  Schreiben Sie einen Gästebucheintrag für pablo

Beiträge: 453
Registriert: 23.01.2002

Win10
Office 365
SE 2020

erstellt am: 16. Okt. 2004 13:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin L 10 Unities + Antwort hilfreich

Martin,

den Laufzeitfehler bekomme ich, wenn ein Label den Focus hat.

HTHHope that helps = Hoffe es hilft pablo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cka71
Mitglied


Sehen Sie sich das Profil von cka71 an!   Senden Sie eine Private Message an cka71  Schreiben Sie einen Gästebucheintrag für cka71

Beiträge: 2
Registriert: 18.10.2004

erstellt am: 18. Okt. 2004 10:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Martin L 10 Unities + Antwort hilfreich

Wenn du die Funktion GetNextControl(ByVal TabIndex As Long) von Pablo noch folgendermaßen erweiterst, sollte das für Textfelder funktionieren (ist für andere Komponenten entsprechend erweiterbar).

Dim mC As VB.Control
  For Each mC In Me.Controls
  If TypeOf mC Is TextBox Then  ' --> Ergänzung.
    If mC.TabIndex = TabIndex Then
      mC.SetFocus
      Exit For
    End If
  End If  ' --> Ergänzung.
  Next

Gruß,
Christian

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz