Guten Tag,
in meinem Programm möchte ich im Load Event meiner Haupt-Form den Focus an ein Panel geben, damit die Scrollbar da gleich angesprochen werden kann.
Leider funktioniert das nicht.
Ist das im LoadEvent nicht möglich oder was stielt danach den Focus?
MFG Deffcon
Bin keine Signatur. Putze hier nur.
Probiers mal mit dem TabIndex.
Menu-Ansicht-AktivierReihenfolge.
(Dazu aber erstmal deine Focus-Verteil-Versuche aus dem FormLoad entfernen.)
Der frühe Apfel fängt den Wurm.
Was genau Funktioniert nicht? Und wie sieht dein Code aus, indem du auf das Objekt verweist?
Eine Möglichkeit wäre:
Keyboard.Focus(Objekt);
Gruss,
reloop
Hallo reloop, hallo Deffcon,
Eine Möglichkeit wäre:
die aber oft gerade nicht richtig funktioniert:
Focus ist eine Methode auf niedriger Ebene, die hauptsächlich für Autoren benutzerdefinierter Steuerelemente bestimmt ist. Anwendungsprogrammierer sollten hingegen die Select-Methode oder die ActiveControl-Eigenschaft für untergeordnete Steuerelemente bzw. die Activate-Methode für Formulare verwenden.
herbivore
Nur sichtbare Elemente können den Focus erhalten, daher frühestens im Shown-Ereignis setzen (dann aber wie von herbivore schon zitiert mittels Select oder ActiveControl). Generell ist aber die TabIndex-Methode vorzuziehen (außer es ist evtl. von Bedingungen abhängig).
Okay also was genau nicht funktionierte:
Es wurde nicht fokussiert.
Warum: Wie TH69 schrieb: Nur sichtbare Elemente können den Focus erhalten.
Ich hatte selbst einen möglichen Weg gefunden.
Im Activated Event der Main Form hat es funktioniert.
flowLayoutPanel1.Focus();
So habe ich den Focus zugewiesen.
Werde es nächstes mal mit den TabIndexes machen.
Danke für die Antworten.
Bin keine Signatur. Putze hier nur.