Winform 트랙 바(슬라이더)가 터치 스크린 모니터에서 현명하게 작동하도록 만드는 방법

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

문제

사용자가 클릭하면 트랙 바가 마우스 위치로 이동하도록 Winforms 트랙 바를 수정하는 가장 쉬운 방법은 무엇입니까?

기본적으로 트랙 바는 현재 위치와 마우스를 클릭한 위치 사이의 중간 지점으로 이동합니다.

업데이트: 터치스크린에서 트랙바를 사용할 수 있도록 하려고 합니다.터치스크린을 사용하면 드래그하기가 정말 어렵기 때문에 트랙 바가 사용자가 탭하는 곳으로 바로 이동해야 합니다.

도움이 되었습니까?

해결책

해본 적은 없지만 마우스 클릭 위치를 살펴보는 것부터 시작하겠습니다.그런 다음 클릭이 트랙바의 현재 범위에서 얼마나 멀리 떨어져 있는지 파악하고 추적기의 위치를 ​​해당 지점으로 설정할 수 있습니다.

먼저 컨트롤을 재정의하고 마우스 관련 이벤트 함수를 조작하는 방법을 살펴보겠습니다(OnMouseDown(), 예).어떤 경우에는 재정의된 함수의 기본 클래스 구현을 호출하는 것이 중요할 수 있으므로 사례별로 이를 고려해야 합니다.(방금 이것에 부딪혔기 때문에 내 마음 속에 신선합니다.)

다음과 같은 경우에만 이 방식으로 표준 컨트롤의 동작을 변경해야 합니다. 매우 설득력 있는 이유.수백/수천 개의 프로그램에서 예측 가능한 방식으로 작동하기 때문에 표준입니다.귀하의 프로그램에 대해서만 뭔가가 다르게 동작하도록 만드는 것은 다음을 위반할 수 있습니다. 임대 놀라움의 원리.제가 생각하기에 귀하가 설명하는 방식으로 작동할 것으로 예상되는 유일한 트랙바는 일종의 미디어 플레이어용입니다.

편집하다:귀하의 의견을 토대로 볼 때, 네, 설득력 있는 이유가 있다고 생각합니다.:)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top