2013-08-28 6 views
0

VB.Net 2.0 프로젝트에 NumericUpDown 컨트롤이 있습니다. 사용자가 컨트롤 내에서 마우스를 클릭하여 왼쪽이나 오른쪽으로 끌면 그에 따라 컨트롤의 값이 증가하거나 감소합니다.마우스를 사용하여 VB.net NumericUpDown 컨트롤의 값을 증가 및 감소

내가 겪고있는 문제는 마우스 포인터가 컨트롤의 경계 안에 있고 마우스 버튼을 누르면 마우스 이동 이벤트를 캡처 할 수 없다는 것입니다. onMouseMove() 이벤트를 재정의하려고 시도했지만 마우스를 NumericUpDown 컨트롤의 텍스트 상자 부분 위로 이동하면이 이벤트가 한 번만 발생합니다. 그러나 동일한 컨트롤의 위쪽/아래쪽 단추 위로 이동하면 이벤트가 계속 발생합니다.

난 아직도 컨트롤의 정상 작동 유지하려면

: 값 등을 변경하려면 위쪽 및 다운 버튼을 사용하여 값을 입력 할 수를 ...

사람은 무엇을하려고하는 어떤 제안이? 감사!

답변

1

마우스 이벤트는 NUD 안에있는 TextBox로 이동합니다. 당신은 컨트롤 속성에서에 대한 참조를 얻을 수, 인덱스 1은 텍스트 상자입니다 :

Public Sub New() 
    InitializeComponent() 
    AddHandler NumericUpDown1.Controls(1).MouseDown, AddressOf NudMouseDown 
    AddHandler NumericUpDown1.Controls(1).MouseMove, AddressOf NudMouseMove 
End Sub 

이 좀 규칙을 나누기하지만 괜찮아요, 그 제어는 결코 더 이상 변경하려고하지 않습니다.

+0

굉장합니다. 네가 할 수 있다는 것을 몰랐어. 오늘도 새로운 것을 배웠습니다.) – oGJo