繁体   English   中英

如何移动TrackBar以响应C#中的鼠标事件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM