Come si fa a fare una barra di pista Winform (slider) comporti sensibilmente su un monitor touch-screen

StackOverflow https://stackoverflow.com/questions/755671

Domanda

Qual è il modo più semplice per modificare un bar pista WinForms in modo che quando un utente fa clic su di esso nella barra pista salta alla posizione del mouse?

Per impostazione predefinita la barra pista si sposta a metà strada tra la sua posizione attuale e in cui il mouse è stato cliccato.

Aggiornamento: che sto cercando di fare questo in modo che possa utilizzare la barra di pista su un touch-screen. Con un trascinamento touch-screen è davvero difficile, quindi il requisito per la barra di pista per passare direttamente al punto in cui i rubinetti degli utenti.

È stato utile?

Soluzione

Non ho mai fatto, ma vorrei iniziare guardando la posizione del mouse. Ho potuto quindi capire come lontano attraverso l'estensione attuale della trackbar click si trovava e impostare la posizione del tracker per quel posto.

Mi piacerebbe iniziare, cercando in sovrascrivendo il controllo e la manipolazione delle funzioni di eventi mouse-correlati (OnMouseDown(), per esempio). Si noti che in alcuni casi può essere importante per chiamare il implementazione della classe base di una funzione di override, essere sicuri di prendere in considerazione su una base caso per caso. (Ho appena eseguito afoul di questo, quindi è fresco nella mia mente.)

Si noti che è necessario modificare solo il comportamento di controlli standard in questo modo, se si dispone di una molto motivo valido. Sono di serie perché si comportano in modo prevedibile attraverso molte centinaia / migliaia di programmi. Fare qualcosa di comportarsi in modo diverso solo per il programma può violare la Principio di Locazione Stupore . L'unica trackbar mi viene in mente che mi aspetto di comportarsi nel modo che descrive è per una sorta di lettore multimediale.

Modifica Sulla base di un commento, sì, penso che hai un motivo valido. :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top