【问题标题】:Is there a way I can drag a line in steema tchart?有没有办法可以在 steema tchart 中拖一条线?
【发布时间】:2013-04-12 09:41:01
【问题描述】:

我的 tchart 中有 fastline。

我正在向 fastline 添加一个数组作为数据源。

在运行时,在 tchart 中绘制 fastline。现在我想做的是从它的特定点拖动一条线,上下移动等,结果 fastline 的数据点值和形状会发生变化。一旦用户这样做,我会将数据从 fastline 获取到数组。 像这样的拖动功能。 http://www.algorithmist.net/qbparam.html 所以,我可以用鼠标控制线路。

有可能吗?

谢谢。

【问题讨论】:

  • 我可以为甘特图找到类似的东西。 “甘特鼠标拖动工具。GanttTool 提供鼠标交互来拖动和调整甘特条的大小。”但我想换线。

标签: c# teechart


【解决方案1】:

您可以为此使用DragPoint 工具。

请参阅安装随附的功能演示中“所有功能\Welcome !\Tools\Drag Point”中的示例。

这是一个例子:

Steema.TeeChart.Styles.Line line1 = new Steema.TeeChart.Styles.Line();
tChart1.Series.Add(line1);
line1.fillSampleValues();

Steema.TeeChart.Tools.DragPoint dragPoint1 = new Steema.TeeChart.Tools.DragPoint();
tChart1.Tools.Add(dragPoint1);
dragPoint1.Cursor = System.Windows.Forms.Cursors.Hand;
dragPoint1.Series = line1;

【讨论】:

  • 非常感谢,我还有一个问题。如果用户单击图表中的任何位置,我已经将我的代码设置为图表将全屏显示,通过图表单击事件处理程序。再次单击它会使图表窗口变小。当用户单击系列并尝试从系列中拖动一个点时,我想禁用它。任何内置功能对我有帮助吗?
  • 我也想将系列点的值放入双数组中。我只能将数据放入 steema.teechart.styles.valuelist 中。从那里我无法将数组转换为 double[x,y]
  • @saumilpatel,这不是提出新问题的正确和更清晰的方式。检查是否在同一个图表单击事件中单击了系列点(使用系列的“Clicked()”函数),以决定是否必须最大化/最小化窗口。我不明白第二个问题的问题;你有 XValues 和 YValues ValueLists 不是吗?没有 double[x,y],但是给定这两个 ValueList 很容易得到一个。
  • 对不起。我使用了 series.clicked 但它总是为 x,y 提供 0,0 输出。我现在要在双击事件处理程序中使用最大化/最小化窗口,对于第二个问题,我想从系列中获取 y 值。并将其保存到双精度数组中。我发现 Series.YValues.Values 很有用。非常感谢。
  • @saumilpatel,问题是您也在使用带有单击方法的拖动点的双击。这会在单击事件和单击拖动点之间产生不一致。如果要使用系列单击方法,则必须使用兼容的鼠标事件和 DragPoints 工具,例如 TeeChart 的 MouseDown 事件,如您所见: void tChart1_MouseDown(object sender, MouseEventArgs e) { if (tChart1[0].Clicked(e.X , e.Y)!=-1)this.Text = "Xvalue:" + e.X.ToString() + ", Y:" + e.Y.ToString();你能告诉我们它是否对你有帮助吗?谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-15
  • 1970-01-01
  • 2020-01-22
  • 2015-01-22
相关资源
最近更新 更多