| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: VB.NET: Bei Programmstart Fokus setzen ... (3751 mal gelesen)
|
Siejay Mitglied

 Beiträge: 77 Registriert: 16.06.2004
|
erstellt am: 16. Okt. 2007 12:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich möchte beim Programmstart im "Public Sub New" auf eine Textbox mit eingetragenem Text den Focus setzen. Aber mit "Textbox1.Focus()" tut sich da nichts. Wie muß ich da vorgehen? Gruß Siejay Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 16. Okt. 2007 16:29 <-- editieren / zitieren --> Unities abgeben:          Nur für Siejay
Hallo und Willkommen im VB-CAD-Forum Siejay, was tut da nichts? Hat die Rückgabe der Methode false? Wie wäre es wenn du die Methode Focus im Form.Load Ereignis ausrufst oder die Tabstop Reihenfolge (Eigenschaft TabIndex) deiner Controls so festlegst das die Textbox den Index 0 besitzt? ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siejay Mitglied

 Beiträge: 77 Registriert: 16.06.2004
|
erstellt am: 16. Okt. 2007 21:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo Daniel, der Rückgabewert lautet FALSE. Mit Textbox1.Focus() im Form.Load und dem TabIndex auf 0 hatte ich keinen Erfolg. Bedeutet Focus setzen in der Textbox das der Text markiert ist ? Denn erst wenn ich die Tab-Taste betätige wird der Text markiert. Vielleicht habe ich mich auch falsch ausgedrückt, ich möchte beim Programmstart den Text markiert haben. Gruß Siejay
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 17. Okt. 2007 09:16 <-- editieren / zitieren --> Unities abgeben:          Nur für Siejay
Guten Morgen, da habe ich dich wirklich falsch verstanden. Ich dachte du möchtest den Fokus auf das Steuerelement setzen. Da hast du in vb.net folgende Möglichkeiten:
Code:
- Textbox.Select(start, lenght) ; markiert einen Bereich über Index
- Textbox.SelectedText ; markiert den Text
- Textbox.SelectAll ; markiert den Inhalt der TextBox
Ich hoffe jetzt liege ich richtig und konnte dir helfen! ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siejay Mitglied

 Beiträge: 77 Registriert: 16.06.2004
|
erstellt am: 18. Okt. 2007 08:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo Daniel, ich hab mal einiges durchprobiert, also Focus auf Textbox setzen hießt das enthaltener dabei auch markiert wir. Die von Dir genannten Textbox.Select... Möglichkeiten im Form.Load bringen auch nicht den gewünschten Effekt. Wobei ich festgestellt habe das der enthaltene Text anscheinend nur "intern" markiert wird, aber nicht ausgeleuchtet dargestellt wird. Geprüft mit Selected.Length. Verwende ich alle bisher angesprochenen Möglichkeiten über einen Button im laufenden Programm realisiere, funktioniert alles wie gewünscht. Ob .Focus() oder auch die .Select... Methoden. Keine Ahnung warum das im Sub New / Form.Load nicht geht. Dachte schon weil die Textbox in einer Groupbox ist ob es daran hängt. Hab dann aber alles in einem neuen Projekt mit nur einem Button und einer Textbox probiert und kam zum selben Ergebnis. Gruß Siejay Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 26. Okt. 2007 15:59 <-- editieren / zitieren --> Unities abgeben:          Nur für Siejay
Hallo Siejay, wie steht denn die HideSelection Eigenschaft deiner Textbox? Wenn du die Selektion auch dann in der Textbox anzeigen möchtest wenn Sie keinen Focus hat solltest du diese Eigenschaft auf true setzen Auszug auf der Hilfe: Ruft einen Wert ab, der angibt, ob der markierte Text im Textfeld-Steuerelement hervorgehoben bleibt, nachdem das Steuerelement den Fokus verloren hat, oder legt diesen fest. Schönes Wochenende ... ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siejay Mitglied

 Beiträge: 77 Registriert: 16.06.2004
|
erstellt am: 28. Okt. 2007 12:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo Daniel, die HideSelection Eigenschaft steht auf True. Ich hatte mit dieser Eigenschaft auch schon experimentiert. Aber auch ohne Erfolg. Hab jetzt nochmals einige Zeit rumprobiert, und alles diskutierte funktioniert weder in Sub New noch in Form Load. Die Lösung liegt im TabIndex, wie von Dir beschrieben. Nur lag das Problem im TabIndex der Groupboxen. Der TabIndex der Groupbox in der die Textbox enthalten ist, ist ebenso ausschlaggebend. Die Groupbox die die Textbox enthält muß auch den niedrigsten TabIndex aller Groupboxen besitzen. Nochmals Danke für die Hilfe. Gruß Siejay Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Moderator Teamleiter
  
 Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600
|
erstellt am: 29. Okt. 2007 09:42 <-- editieren / zitieren --> Unities abgeben:          Nur für Siejay
Guten Morgen, der TabIndex bezieht sich immer auf den Container, also Form > GroupBox > TextBox. Evtl. kannst du ja auch mal deinen Focus so setzen. Also erst auf die Form, dann GroupBox und zuletzt die gewünschte TextBox. ------------------ Mfg Daniel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Siejay Mitglied

 Beiträge: 77 Registriert: 16.06.2004
|
erstellt am: 30. Okt. 2007 21:56 <-- editieren / zitieren --> Unities abgeben:         
|