Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使旋钮控制_C#_Controls - Fatal编程技术网

C# 使旋钮控制

C# 使旋钮控制,c#,controls,C#,Controls,我需要做一个旋钮控制,或使用一个工作。我从那个网站上下载了一个:但它不能像我想要的那样工作 我需要这个旋钮控制可以使一个完整的圆圈,当我移动它。在转到最大值时,如果传递此值,按钮将自动转到另一个值(即0) 我所要做的就是在没有最大值的情况下一直增加旋钮的旋转值,并且在通过最大值时不要重新启动到0 我把代码贴在值发生变化的地方,但我花了3个小时在上面,我不知道如何改变。。。还有两个变量thar是最大值和最小值,它们具有旋钮的最大值和最小值 protected override void OnMou

我需要做一个旋钮控制,或使用一个工作。我从那个网站上下载了一个:但它不能像我想要的那样工作

我需要这个旋钮控制可以使一个完整的圆圈,当我移动它。在转到最大值时,如果传递此值,按钮将自动转到另一个值(即0)

我所要做的就是在没有最大值的情况下一直增加旋钮的旋转值,并且在通过最大值时不要重新启动到0

我把代码贴在值发生变化的地方,但我花了3个小时在上面,我不知道如何改变。。。还有两个变量thar是最大值和最小值,它们具有旋钮的最大值和最小值

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已经足够长。”不要用它。