这可能是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 当用户移动鼠标时不会移动,但是在第一次按下按钮时正常工作。

您没有显示您将事件处理程序连接到的代码和/或致电 MoveTrackBarToMouseClickLocation 功能,这是我所能获得的。但是,如果您设法将 MouseDown 事件已经是一个简单的解决方案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top