我做了一个TrackBar的东西。
玩的也很转。
就是有个小问题困扰着我。
我可以拖动bar改变刻度,也可以点击改变刻度,
但是问题在于,我点击的刻度,是死的,是设置,比如为5,
那么你用鼠标点击bar后面时候,就跳到往后5的位置。
难道不能够我点到哪跳到哪?
望高人,做过类似东西的朋友们给些意见,提供一些代码观看,谢谢。

解决方案 »

  1.   


    private Point lastPoint = Point.Empty; 
    private void trackBar1_MouseDown(object sender, MouseEventArgs e) 

       lastPoint.X = e.X; 
       lastPoint.Y = e.Y; 
       if (e.X > this.trackBar1.Minimum && e.X < this.trackBar1.Maximum) 
          this.trackBar1.Value = e.X; 
       else if (e.X > this.trackBar1.Maximum) 
               this.trackBar1.Value = this.trackBar1.Maximum; 
           else 
               this.trackBar1.Value = this.trackBar1.Minimum; 
    }TrackBar的Maximum应该动态修改,根据对象不同而不同,设置不同的TickFrequency。