彩票走势图

TeeChart for .NET图表控件教程:缩放和滚动

翻译|使用教程|编辑:杨鹏连|2021-07-27 11:09:26.220|阅读 301 次

概述:缩放和滚动是有用的辅助工具,可以在一个人口密集的图表中聚焦于特定的数据。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

TeeChart for .NET优秀的 4.0 WinForm 图表控件,官方独家授权汉化,集功能全面、性能稳定版、优惠等优势。NET 的 TeeChart for .NET 中文承诺让您在使用和学习上没有语言障碍,最少可以节省 30% 的开发时间。

点击立即下载最新版TeeChart for .NET

缩放和滚动 

缩放和滚动是有用的辅助工具,可以在一个人口密集的图表中聚焦于特定的数据。 

如何使用鼠标进行缩放和滚动 

缩放 

要放大图表,请在您希望放大的区域的左上角按下鼠标左键,并保持鼠标键的按下,将矩形拖出到放大区域的右下角。松开鼠标键,图表将重新绘制选定的区域。
要撤销缩放,请在图表区域的任何地方按下鼠标左键,并在按下鼠标键的情况下向上和向左拖动。松开按钮,图表将重新绘制到最初定义的图表区域。

滚动 

要滚动图表,请按下鼠标右键,并保持鼠标键被按下,向您希望滚动图表的方向拖动鼠标。当你释放鼠标键时,图表将保持在新的位置上。
要撤销滚动,请在图表区域的任何地方按下鼠标左键,并在按下鼠标键的情况下向上和向左拖动。松开按钮,图表将重新绘制到最初定义的图表区域。

如何通过代码进行缩放和滚动 

缩放 
缩放在默认情况下是启用的。使用Zoom.Allow属性来禁用缩放。请参阅Zoom类,了解与Zoom相关的属性和方法的完整列表。使用ZoomRect方法来定义一个矩形区域来进行缩放。
例子 

[C#] 
tChart1.Zoom.ZoomRect(new Rectangle(100,100,120,120)); 
[VB.Net] 
TChart1.Zoom.ZoomRect(New Rectangle(100, 100, 120, 120)) 
ZoomRect的坐标是以屏幕像素来定义的,其中0,0是图表面板的左上方。
下面的代码将放大第2和第5个X轴点之间的区域,将Y轴设置为整个图表的最大和最小点的比例。
[C#] 
int x = points1.CalcXPos(2); 
int y = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue); 
int height = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MinYValue) - tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue); 
int width = points1.CalcXPos(5) - x; 
Rectangle r = new Rectangle(x,y,width,height); 
tChart1.Zoom.ZoomRect(r); 
 
[VB.Net] 
Dim X As Integer = Points1.CalcXPos(2) 
Dim Y As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue) 
Dim Height As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MinYValue) - TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue) 
Dim Width As Integer = Points1.CalcXPos(5) - X 
Dim R As New Rectangle(X, Y, Width, Height) 
TChart1.Zoom.ZoomRect(R) 
使用'Undo'来缩回。
TChart1.Zoom.Undo

动画缩放 

动画缩放提供了阶梯式的缩放。你可以将Animated设置为启用,并为缩放定义交错的步骤,而不是一步到位地从 "放大 "跳到 "缩小"。一旦动画被启用,你可以用鼠标或代码手动缩放。
例子 

[C#] 
int x = points1.CalcXPos(2); 
int y = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue); 
int height = tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MinYValue) - tChart1.Axes.Left.CalcYPosValue(tChart1.Axes.Left.MaxYValue); 
int width = points1.CalcXPos(5) - x; 
Rectangle r = new Rectangle(x,y,width,height); 
tChart1.Zoom.Animated = true; 
tChart1.Zoom.AnimatedSteps = 100; 
tChart1.Zoom.ZoomRect(r); 
 
[VB.Net] 
Dim X As Integer = Points1.CalcXPos(2) 
Dim Y As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue) 
Dim Height As Integer = TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MinYValue) - TChart1.Axes.Left.CalcYPosValue(TChart1.Axes.Left.MaxYValue) 
Dim Width As Integer = Points1.CalcXPos(5) - X 
Dim R As New Rectangle(X, Y, Width, Height) 
TChart1.Zoom.Animated = True 
TChart1.Zoom.AnimatedSteps = 100 
TChart1.Zoom.ZoomRect(R) 
缩放事件 

手动或通过代码放大,将触发TChart.Zoomed事件。缩小会触发TChart.UndoneZoom事件。滚动 

默认情况下,所有方向的滚动都是启用的。 使用Scroll.Allow属性可以禁用滚动或将滚动限制在一个方向。通过代码进行滚动的最简单方法是使用轴滚动方法。

[C#] 
tChart1.Axes.Bottom.Scroll(3, false); 
[VB.Net] 
TChart1.Axes.Bottom.Scroll(3, False) 
该值是偏移量。False'指的是TeeChart是否允许滚动超过系列值的限制。

另一种控制滚动的方法是通过代码定义轴的最大值和最小值来滚动。

[C#] 
private void Form1_Load(object sender, System.EventArgs e) { 
        int range = Convert.ToInt32(bar1.XValues.Maximum - bar1.XValues.Minimum / 2); 
        bar1.FillSampleValues(20); 
        tChart1.Panning.Allow = ScrollModes.None; 
        hScrollBar1.Value = range; 
        hScrollBar1.Minimum = range - 50; 
        hScrollBar1.Maximum = range + 50; 
} 
     
private void hScrollBar1_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e) { 
        tChart1.Axes.Bottom.Automatic = false; 
        tChart1.Axes.Bottom.Minimum = e.NewValue; 
        tChart1.Axes.Bottom.Maximum = e.NewValue + bar1.Count; 
} 
 
[VB.Net] 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
            Dim Range As Integer = Bar1.XValues.Maximum - Bar1.XValues.Minimum / 2 
            Bar1.FillSampleValues(20) 
            TChart1.Panning.Allow = Steema.TeeChart.ScrollModes.None 
            HScrollBar1.Value = Range 
            HScrollBar1.Minimum = Range - 50 
            HScrollBar1.Maximum = Range + 50 
End Sub 
 
Private Sub HScrollBar1_Scroll(ByVal sender As Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles HScrollBar1.Scroll 
            TChart1.Axes.Bottom.Automatic = False 
            TChart1.Axes.Bottom.Minimum = e.NewValue 
            TChart1.Axes.Bottom.Maximum = e.NewValue + Bar1.Count 
End Sub 

TeeChart for .NET已加入在线订购,现在抢购可立享优惠!

如果您对该图表控件感兴趣,欢迎加入图表控件QQ交流群:740060302


关注慧聚IT微信公众号☟☟☟,了解产品的最新动态和最新资讯。

慧聚IT

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:Steema

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP