C# 如何在主要网格线之间绘制次要网格线?

C# 如何在主要网格线之间绘制次要网格线?,c#,winforms,charts,C#,Winforms,Charts,我试着在主网格线之间的中心画小网格线 chart1.ChartAreas[0].AxisX.MajorGrid.Interval = 4; chart1.ChartAreas[0].AxisX.MinorGrid.Enabled = true; chart1.ChartAreas[0].AxisX.MinorGrid.Interval = 3; chart1.ChartAreas[0].AxisX.MinorGrid.LineColor = Color.Cornsilk; chart1.Char

我试着在主网格线之间的中心画小网格线

chart1.ChartAreas[0].AxisX.MajorGrid.Interval = 4;
chart1.ChartAreas[0].AxisX.MinorGrid.Enabled = true;
chart1.ChartAreas[0].AxisX.MinorGrid.Interval = 3;
chart1.ChartAreas[0].AxisX.MinorGrid.LineColor = Color.Cornsilk;
chart1.ChartAreas[0].AxisX.MinorGrid.LineDashStyle= ChartDashStyle.Solid;
我尝试设置chart1.ChartAreas[0].AxisX.MinorGrid.Interval的不同值,但没有得到预期的结果。下面是我目前得到的结果。 箭头指向位于次要网格线右侧 我试图更改chart1.ChartAreas[0].AxisX.MinorGrid.IntervalOffset属性,但它没有更改任何内容。有人有什么建议吗?先谢谢你

编辑 根据TaW的回答,他试图设定时间间隔

chart1.ChartAreas[0].AxisX.MajorGrid.Interval = 4;
chart1.ChartAreas[0].AxisX.MinorGrid.Interval = 2;
得到

编辑2

这是TaW提出的一个好主意,但因为LineDashStyle和自定义标签对我来说并不重要,所以我决定放弃次要线条,而是使用主线和自定义标签,为每一条第二行绘制。 问题解决


如果希望
MinorGrid
行位于
MajorGrid
之间的
MinorGrid中间,则其
间隔应为其值的一半:

Axix ax = chart1.ChartAreas[0].AxisX;
ax.MajorGrid.Interval = 4;
ax.MinorGrid.Interval = ax.MajorGrid.Interval / 2;
如果需要更多的
MinorGrid
行,则
MajorGrid.Interval
仍应可被
MinorGrid.Interval
整除

如果您真的想设置一个
偏移量
,两者应该具有相同的值

由于
X值
日期时间
,因此您还需要控制
间隔类型

ax.MajorGrid.IntervalType = DateTimeIntervalType.Days;
ax.MinorGrid.IntervalType = DateTimeIntervalType.Days;
注意像往常一样,每隔一行主行会覆盖一行副行。如果这是一个问题,您可以使
间隔
相同,并将一个间隔偏移一半一个
间隔
;但通常情况下,这并不重要。

查看更新的答案。(我的屏幕截图使用了不同的样式…)我需要的次要网格线不会绑定到IntervalType,因为标签会像您的示例中那样相对地移动网格线。它们仍然有一个
IntervalType
,它将决定
间隔
等的含义。。。要控制标签
,可以使用相应的属性:
ax.LabelStyle.IntervalType、ax.LabelStyle.Interval、ax.LabelStyle.IntervalOffset