C# 使旋钮控制
我需要做一个旋钮控制,或使用一个工作。我从那个网站上下载了一个:但它不能像我想要的那样工作 我需要这个旋钮控制可以使一个完整的圆圈,当我移动它。在转到最大值时,如果传递此值,按钮将自动转到另一个值(即0) 我所要做的就是在没有最大值的情况下一直增加旋钮的旋转值,并且在通过最大值时不要重新启动到0 我把代码贴在值发生变化的地方,但我花了3个小时在上面,我不知道如何改变。。。还有两个变量thar是最大值和最小值,它们具有旋钮的最大值和最小值C# 使旋钮控制,c#,controls,C#,Controls,我需要做一个旋钮控制,或使用一个工作。我从那个网站上下载了一个:但它不能像我想要的那样工作 我需要这个旋钮控制可以使一个完整的圆圈,当我移动它。在转到最大值时,如果传递此值,按钮将自动转到另一个值(即0) 我所要做的就是在没有最大值的情况下一直增加旋钮的旋转值,并且在通过最大值时不要重新启动到0 我把代码贴在值发生变化的地方,但我花了3个小时在上面,我不知道如何改变。。。还有两个变量thar是最大值和最小值,它们具有旋钮的最大值和最小值 protected override void OnMou
protected override void OnMouseMove(MouseEventArgs e)
{
//--------------------------------------
// Following Handles Knob Rotating
//--------------------------------------
if (this.isKnobRotating == true)
{
this.Cursor = Cursors.Hand;
Point p = new Point(e.X, e.Y);
int posVal = this.getValueFromPosition(p);
Value = posVal;
}
}
有什么办法可以帮我的吗
谢谢 最后我找到了自己的解决办法,希望这能帮助别人
if (this.isKnobRotating == true)
{
lastValue = Value;
this.Cursor = Cursors.Hand;
Point p = new Point(e.X, e.Y);
int posVal = this.getValueFromPosition(p);
Value = posVal;
if ((lastValue >= Maximum + radiusLeft - 1) && Value == 0)
{
numRounds++;
}
else if (lastValue <= Minimum && (Value == Maximum + radiusLeft - 1))
{
numRounds--;
}
finalValue = (Maximum + radiusLeft) * numRounds;
result = finalValue + Value;
}
if(this.isKnobRotating==true)
{
lastValue=值;
this.Cursor=Cursors.Hand;
点p=新点(e.X,e.Y);
int posVal=this.getValueFromPosition(p);
Value=posVal;
if((lastValue>=最大+半径左-1)和&Value==0)
{
numRounds++;
}
否则如果(LaStValuy UI设计说明:除非这是触摸屏,请不要使用。它们是与鼠标一起使用的王室疼痛。请考虑滑块。是的,是触摸屏。它是一个非常糟糕的UI小部件。计算机屏幕仍然需要类似于它们所替换的工具的日子结束了,WIMP已经足够长。”不要用它。