当 X 值被索引时 MS 图表、X 轴日期和光标交互

发布于 2024-09-05 01:37:55 字数 718 浏览 2 评论 0原文

下午好,

哇,多好的标题啊。

基本上就是这样。

如果有一个不连续的时间序列。

因此,由于我使用 Series 的 IsXValueIndexed 属性(设置为 true)来折叠单独点之间的空间。

这工作正常,但是我现在希望能够从图表中恢复点的详细信息(X 和 Y 值)并将它们显示在表单上的标签中。

因此,我使用以下事件:

void myChart_CursorPositionChanging(object sender, CursorEventArgs e)
    {
        if (!double.IsNaN(e.NewPosition))
        {
            if (e.Axis.AxisName == AxisName.X)
            {
                lbl_selDate.Content = DateTime.FromOADate(e.NewPosition);
            }
            else
            {
                lbl_selValue.Content = e.NewPosition;
            }
        }
    }

问题是日期不正确...我找不到正确的转换方法来恢复这个该死的时间戳。

你能帮我一下吗?

谢谢!

杰里米

Good afternoon,

Wow what a title.

Basically here is the thing.

If have a time series which is not continuous.

Hence, since I use the IsXValueIndexed property of the Series (set to true) to collapse the space between the separate points.

That works fine, however I would now like to be able to recover a point's detail in from the graph (X and Y values) and display them in a label on the form.

Hence, I use the following event:

void myChart_CursorPositionChanging(object sender, CursorEventArgs e)
    {
        if (!double.IsNaN(e.NewPosition))
        {
            if (e.Axis.AxisName == AxisName.X)
            {
                lbl_selDate.Content = DateTime.FromOADate(e.NewPosition);
            }
            else
            {
                lbl_selValue.Content = e.NewPosition;
            }
        }
    }

The problem is that the date is incorrect... I cannot find the right conversion method to recover this damned timestamp.

Can you by any chance help me out?

Thanks!

Jeremie

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

没有你我更好 2024-09-12 01:37:55

假设您有 DateTime 类型的 x 轴,然后使用:

DateTime xValue = DateTime.FromOADate(((Chart)sender).Series[0].Points[(int)e.NewPosition - 1].XValue)

假设您有 double 类型的 y 轴,然后使用:

double yValue = ((Chart)sender).Series[0].Points[(int)e.NewPosition - 1].YValues[0];

suppose you have x-axis of type DateTime then use:

DateTime xValue = DateTime.FromOADate(((Chart)sender).Series[0].Points[(int)e.NewPosition - 1].XValue)

suppose you have y-axis of type double then use:

double yValue = ((Chart)sender).Series[0].Points[(int)e.NewPosition - 1].YValues[0];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文