Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Focus im Load Event übergeben
Deffcon
myCSharp.de - Member



Dabei seit:
Beiträge: 24
Herkunft: Dresden

Themenstarter:

Focus im Load Event übergeben

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
ErfinderDesRades
myCSharp.de - Experte

Avatar #avatar-3151.jpg


Dabei seit:
Beiträge: 5.299

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
reloop
myCSharp.de - Member

Avatar #avatar-3256.jpg


Dabei seit:
Beiträge: 139

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von reloop am .
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo reloop, hallo Deffcon,
Zitat
Eine Möglichkeit wäre:
die aber oft gerade nicht richtig funktioniert:
Zitat von MSDN
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
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.488

beantworten | zitieren | melden

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).
private Nachricht | Beiträge des Benutzers
Deffcon
myCSharp.de - Member



Dabei seit:
Beiträge: 24
Herkunft: Dresden

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers