gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:19:56 25 4
gpt4 key购买 nike

这可能是一个 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 event 中执行您的代码,以及 MouseDown 事件。

当鼠标移动同时其中一个按钮被按住时,会发生此事件。相比之下,您当前处理的 MouseDown 事件只会在每次按下鼠标按钮时引发一次。这就是为什么 TrackBar 在用户移动鼠标时不移动,但在第一次按下按钮时正常工作的原因。

您没有显示连接事件处理程序和/或调用 MoveTrackBarToMouseClickLocation 函数的代码,所以这是我所能得到的最具体的代码。但是,如果您已经设法连接了 MouseDown 事件,这应该是一个简单的修复。

关于c# - 如何移动 TrackBar 以响应 C# 中的鼠标事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4516350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com