问题描述
我做了一个TrackBar的东西。玩的也很转。就是有个小问题困扰着我。我可以拖动bar改变刻度,也可以点击改变刻度,但是问题在于,我点击的刻度,是死的,是设置,比如为5,那么你用鼠标点击bar后面时候,就跳到往后5的位置。难道不能够我点到哪跳到哪?望高人,做过类似东西的朋友们给些意见,提供一些代码观看,谢谢。
解决方案
解决方案二:
privatePointlastPoint=Point.Empty;privatevoidtrackBar1_MouseDown(objectsender,MouseEventArgse){lastPoint.X=e.X;lastPoint.Y=e.Y;if(e.X>this.trackBar1.Minimum&&e.X<this.trackBar1.Maximum)this.trackBar1.Value=e.X;elseif(e.X>this.trackBar1.Maximum)this.trackBar1.Value=this.trackBar1.Maximum;elsethis.trackBar1.Value=this.trackBar1.Minimum;}
TrackBar的Maximum应该动态修改,根据对象不同而不同,设置不同的TickFrequency。
解决方案三:
引用1楼chinajiyong的回复:
C#codeprivatePointlastPoint=Point.Empty;privatevoidtrackBar1_MouseDown(objectsender,MouseEventArgse){lastPoint.X=e.X;lastPoint.Y=e.Y;if(e.X>this.trackBar……
看的出你做过类似的。不过你也知道你这个的缺陷了吧
时间: 2024-09-19 09:42:30