【问题标题】:Tchart Rectangle ToolTchart 矩形工具
【发布时间】:2012-03-30 10:45:27
【问题描述】:

我正在评估 Teechart 4.1.2012.2287,但我在使用矩形工具时遇到了问题。 我的项目是用 VS2010 编写的,使用 VB.Net 和 framework 4.0。

如果您放置一个矩形工具,并将位置单位设置为百分比(我需要这样做,以便在调整图表大小时矩形保持大致相同的位置)当鼠标指针位于在矩形上方。它实际上确实错误地显示在相应的像素位置而不是百分比位置。

这是一个错误还是我做错了什么?

【问题讨论】:

    标签: teechart


    【解决方案1】:

    我已经能够通过下面的代码 sn-p 重现该问题,并将其 (TF02016130) 添加到待调查的缺陷列表中。

      tChart1.Aspect.View3D = false;
      tChart1.Dock = DockStyle.Fill;
    
      tChart1.Series.Add(new Steema.TeeChart.Styles.Points()).FillSampleValues();
    
      Steema.TeeChart.Tools.RectangleTool rectangle1 = new Steema.TeeChart.Tools.RectangleTool(tChart1.Chart);
    
      rectangle1.Text = "My rectangle tool";
      rectangle1.AutoSize = true;
      rectangle1.PositionUnits = Steema.TeeChart.PositionUnits.Percent;
      rectangle1.Shape.CustomPosition = true;
      rectangle1.Shape.Left = 50;
      rectangle1.Shape.Top = 50;
      rectangle1.AllowDrag = true;
      rectangle1.AllowResize = true;
      rectangle1.AllowEdit = true;
    

    与此同时,一种解决方法是使用 AfterDraw 事件和像素定位,如下所示:

    public Form1()
    {
      InitializeComponent();
      InitializeChart();
    }
    
    private Steema.TeeChart.Tools.RectangleTool rectangle1;
    
    private void InitializeChart()
    {
      tChart1.Aspect.View3D = false;
      tChart1.Dock = DockStyle.Fill;
    
      tChart1.Series.Add(new Steema.TeeChart.Styles.Points()).FillSampleValues();
    
      rectangle1 = new Steema.TeeChart.Tools.RectangleTool(tChart1.Chart);
    
      tChart1.AfterDraw += new Steema.TeeChart.PaintChartEventHandler(tChart1_AfterDraw);
    
      rectangle1.Text = "My rectangle tool";
      rectangle1.AutoSize = true;
      rectangle1.PositionUnits = Steema.TeeChart.PositionUnits.Pixels;
      rectangle1.AllowDrag = true;
      rectangle1.AllowResize = true;
      rectangle1.AllowEdit = true;
    
      tChart1.Draw();
    }
    
    void tChart1_AfterDraw(object sender, Steema.TeeChart.Drawing.Graphics3D g)
    {
      rectangle1.Shape.CustomPosition = true;
      rectangle1.Shape.Left = tChart1.Width / 2;
      rectangle1.Shape.Top = tChart1.Height / 2;
    }
    

    【讨论】:

    • 进一步调查,我发现这实际上是 2 个不同的问题,所以我把它分成了两部分(TF02016131 和 TF02016132)。 TF02016131 是当PositionUnits=Percent 时点击的函数没有考虑。我刚刚修复了它,所以下一个维护版本应该在正确的位置显示拖动/调整鼠标光标样式。 TF02016132 是关于百分比和像素之间的内部转换以使拖动和调整大小工作。我已经部分纠正了。
    • 下一个维护版本什么时候发布?
    • @Ross 尚未确定日期。我们尝试大约每两个月发布一个版本。鉴于当前版本是一个月前发布的,我们希望在大约一个月后准备好下一个维护版本。请继续关注 Steema Software 的沟通渠道。
    猜你喜欢
    • 2015-11-15
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多