[英]How can I move the TrackBar in response to mouse events in C#?
这可能是一个n00b查询。 我需要根据鼠标按下事件更改轨迹栏值。 我实现如下:
private void MoveTrackBarToMouseClickLocation(TrackBar a_tBar, int a_mouseX)
{
// Jump to the clicked location
double dblValue;
dblValue = ((double)a_mouseX / (double)a_tBar.Width) * (a_tBar.Maximum - a_tBar.Minimum);
a_tBar.Value = Convert.ToInt32(dblValue);
}
那部分工作正常。 按下鼠标按钮时,我无法使滚动条工作。 例如,如果我单击轨迹栏并且我用鼠标向下说值50,我希望能够在鼠标停止时向右或向左滚动(从值= 50)。
我希望我把我的小问题弄清楚了。 任何帮助表示赞赏。 谢谢
您需要在MouseMove
事件以及MouseDown
事件中执行代码。
当同时按下其中一个按钮按住鼠标移到此事件发生。 相反,每次按下鼠标按钮时,当前处理的MouseDown
事件只会被引发一次。 这就是当用户移动鼠标时TrackBar
没有移动的原因,但是第一次按下按钮时TrackBar
工作正常。
您没有显示连接事件处理程序和/或调用MoveTrackBarToMouseClickLocation
函数的代码,因此我可以获得具体的代码。 但是如果你设法连接了MouseDown
事件,这应该是一个简单的修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.