【发布时间】:2017-05-03 08:17:58
【问题描述】:
这就是我的图表现在的样子:
我有这些问题:
AxisX是一个DateTime,格式为Diagramm.ChartAreas[0].AxisX.LabelStyle.Format = "dd.MM.yy HH";。这是有效的,但是您可以看到标签是否被切断了很多小时。如何为 X 轴的每个标签设置鼠标悬停工具提示?series1 放置在辅助 AxisY2 上:
Diagramm.Series["S1"].YAxisType = AxisType.Secondary;。我用Diagramm.ChartAreas[0].AxisY2.LabelStyle.Format = "C0"; 格式化了货币轴
据我了解,给定值 1088,55 应四舍五入为 1089 欧元,但如您所见,它已转换为 108855 欧元。但为什么?该值已经以双精度形式给出...
第 2 点的更新:感谢 TaW,将 , 转换为 .,这有效
-
我的 series1 的工具提示是通过以下方式创建的:
foreach (DataPoint dp in Diagramm.Series["S1"].Points) { if (dp.YValues[0] > 0) { dp.ToolTip = dp.YValues[0].ToString("C0") + " Umsatz für Stunde " + dp.AxisLabel.ToString() + ""; } else { dp.IsValueShownAsLabel = false; } }
我想从格式为"dd.MM.yy HH" 的AxisX 中获取小时。我怎样才能访问小时而不是 dp.AxisLabel.ToString() 这是错误的?
第 3 点更新:感谢 TaW,DateTime.FromOADate(Convert.ToDouble(dp.XValue.ToString())).Hour 工作正常
谢谢
【问题讨论】:
-
1088,55 应该四舍五入到 1089 只是一个错字,对吧?
-
dp.ToolTip = dp.YValues[0].ToString("C0") + " Umsatz für Stunde " + dp.XValue.ToString("HH") + "";怎么样 -
@TaW 不是错字。 1088,55 是我给定的值,应该四舍五入到 1089。实际上它将 1088,55 更改为 108855 这是错误的
-
对不起,我以为我也看到了一个正确的值,但它们都是“错误的”。看起来你只是用小数点输入它们是逗号,但你需要按照我们的约定输入它们
1088.55! -
@TaW
dp.XValue.ToString("HH")为我提供了工具提示的值:"87 € Umsatz für Stunde HH"。使用断点返回XValue,例如值41203.375。我试过Convert.ToDateTime(dp.XValue.ToString()).Hour,但给出的错误不是有效的日期时间
标签: c# winforms tooltip mschart