Der Martin: C# Tastatureingabefrequenz verringern

Beitrag lesen

Hi,

ich habe eine Programm, bei dem ich mit den Pfeiltasten den Focus von Buttons navigieren kann. Sprich, wenn ich die rechte Pfeiltaste drücke, springt der Focus auf den nächsten rechtsliegenden Button. Wenn ich die Pfeiltaste aber dauerhaft gedrückt halte, geht das rasend schnell.

ja, mit bis zu 30/s, wenn's der Nutzer so will. Default ist AFAIK 6/s. :-)

Wie kann ich die Anschlagfrequenz beim dauerhaften Drücken einer Taste verringern?

Von der Applikation aus möglicherweise gar nicht. Du hast nichts über die OS-Plattform gesagt, aber sowohl unter Windows als auch unter Linux ist das eine Systemeinstellung, die entsprechende Zugriffsrechte erfordert.

Ich könnte mir höchstens vorstellen, dass du an der Stelle im Programm, wo das Tasten-Event bearbeitet wird, selbiges einfach ignorierst, wenn seit dem letzten bearbeiteten Event nicht mindestens, sagen wir, 200ms vergangen sind. Damit hast du nicht die Tastatur-Repeatrate geändert, sondern die Wirkung. Auch gut, oder?

So long,
 Martin

--
why the heck do you jerk think, that wir ein doppelposting nicht bemerken, wenn you zwischendurch the sprache wechselst?
  (wahsaga)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(