Hallo, ich habe ein kleines Problem mit WindowsForms(C#). Besser gesagt mit einer DomainUpDown. In dieser DomainUpDown steht: Index Text 0 "Ja" 1 "Nein" Die Property ReadOnly=false. Mit den Pfeiltasten kann man also zwischen Ja(0) und Nein(1) auswählen. Leider habe ich herausgefunden das man die Auswahl auch durch die Tastatur beeinflussen kann. Wenn man auf den Text in der DomainUpDown klickt dann springt da der Curser rein. Steht die DUpDown auf "Ja" und ich drücke auf meiner Tastertur auf ein "N" dann springt die Auswahl in der DUpDown auf "Nein". Dies funktioniert auch umgekehrt wenn die Auswahl auf "Nein" steht und ein "J" gedrückt wird. Wie kann man dieses Verhalten unterbinden ich will eine Steuerung ausschließlich durch die Pfeiltasten zulassen. Das Problem wäre wahrscheinlich auch behoben wenn der Curser bei einem Klick auf den Text nicht in die DUpDown springen würde
Du willst die Auswahl durch Tastatur/Mausrad unterbinden und nur über die Pfeiltasten zulassen? - Warum?!
@bluppdidupp Ich will zu einem gewissem Zeitpunkt den Zugriff auf das DUpDown komplett sperren. Das sperren macht ich in diesem Fall nicht über das Attribut Enabled weil mir das Steuerelement dann so ausgegraut wird.(Es hat glaube ich noch andere Nachteile gegeben) Nur gibt es da eben den Fehler das ich das die Auswahl immernoch über Tastatur/Maus ändern kann. Wenn es da irgendeine Möglichkeit gibt die Funktion zu unterbinden,lasst es mich wissen
Der Vollständigkeit halber -> Problem gelöst class FixedDomainUpDown:DomainUpDown { public bool EnableButton { get; set; } public override void DownButton() { if (ReadOnly&&EnableButton) return; base.DownButton(); } public override void UpButton() { if (ReadOnly&&EnableButton) return; base.UpButton(); } protected override void OnMouseWheel(MouseEventArgs e) { if (ReadOnly && EnableButton) return; base.OnMouseWheel(e); } protected override void OnTextBoxKeyPress(object source, KeyPressEventArgs e) { if (ReadOnly && EnableButton) return; base.OnTextBoxKeyPress(source, e); } }
(nur Ja/Nein hört sich übrigens eher nach nem Fall für ne Checkbox an ^^)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.