German Soll kein Textbox Focus aktiv sein

Paulsche

Well-Known Member
Licensed User
Longtime User
Hi, hab folgendes Problem:

Hab eine Maske mit Textboxen, die ich bei Auswahl vom Button "Neu"
erst mit .visible=true einblenden lasse.
Bei Klick in ein Textfeld wird über "GotFocus" ein Panel mit einem Eingabefeld aktiviert wo die Eingabe erfolgt.
Nun wird die Maske ein mal über Menü "Zähler/Stromzähler" aufgerufen wo die Textbox "TXTbox2FaktorKWH.Text" ausgeblendet bleibt, da bei Stromzähler der Faktor nicht eingegeben wird, da ist alles in Ordnung.

Wird aber "Gaszähler" ausgewählt und Button "Neu" geklickt, so ist anscheinend der Focus schon in der Textbox "TXTbox2FaktorKWH.Text" und das Panel für die Eingabe geht auf.

Anscheinend wird er Focus automatisch auf die zuletzt angelegte Textbox
gesetzt, hier die "TXTbox2FaktorKWH.Text".

Frage: wie kann ich es erreichen dass bei Button "Neu" kein Focus auf eine Textbox gesetzt ist ?

Bin schon ganz verzweifelt. :BangHead:
View attachment 6373
 

klaus

Expert
Licensed User
Longtime User
Hallo Paulsche,

Diese Linie
keyboard_aus
steht am Anfang der Routine IMGbtn2ZaehlerNeu_Click .

Wenn Du sie an das Ende versetzt funktioniert das Programm wie Du es möchtest.

Anstatt
Sub IMGbtn2ZaehlerNeu_Click ' Neuen Zähler anlegen
keyboard_aus
If zaehleraendern = 1Then ' wenn Zähler "ändern" gewählt wurde


so
IMGbtn2ZaehlerSpeichern.Visible = True ' Speichern-Button bei Eingabe einblenden
keyboard_aus
End Sub

Beste Grüsse
 

Paulsche

Well-Known Member
Licensed User
Longtime User
Hi klaus, funktioniert zwar, aber man sieht kurz wie die Textbox mit dem Focus sichtbar wird, dann werden erst die anderen Textboxen eingeblendet, was nicht schön aussieht.
Woher kommt das, hast Du ne Idee ?
Das Problem ist auch nur beim ersten mal nach Programm-Start bei der Funktion "Neu", geht man mit Abbruch zurück und wieder auf Neu dann ist alles OK.
Das muss man doch irgendwie hinbekommen.
Danke für die Hilfe.
 

klaus

Expert
Licensed User
Longtime User
Das hat mit dem TabIndex Parameter zu tun.
Das programm gibt dem höchstlegenen Control das Focus.
Wenn Du im IDE Controls zufügst und eine TextBox das letzte war kommt das Problem.
Anstatt der Lösung von meinem vorhegehendem Post, kannst Du folgendes machen:
- im IDE Form2Zaehler wählen
- rechts clicken auf Cal2ZaehlerDatum
- im PoupMenu auf BringToFront klicken

Jetzt ist nicht mehr die TextBox das letzte Control.

Beste Grüsse.
 

Paulsche

Well-Known Member
Licensed User
Longtime User
Danke klaus,

so geht es nun, aber das verschieben von "keyboard_aus" mussich trotzdem
noch an das Ende stellen, sonst wird wieder in die Textbox der Focus gesetzt,
sogar nach dem das Calendercontrol gelöscht und neu angelegt habe.
Aber hauptsache so geht es nun, danke nochmals.
 
Top