如何将多个标题放入同一高度的图表中?
无论我选择什么参数,我都会得到类似的结果。我在这里提问前的最后一次尝试。
屏幕截图显示了标题的背景颜色,以证明我所期望的。每当我添加两个标题时,WinForms会自动将它们放在不同的高度。
3.行是自定义添加的,目的是向您显示我希望得到的结果。
我可以写一个方法,但它应该对调整事件大小做出反应,最好用停靠或对齐来解决这个问题。

所以现在标题在chartarea里面,因为我在摆弄DockingOffsets等等,我想让它们在chartarea的顶部。
下面是我的代码:
Friend Function CreateTitle(ByVal titleName As TitleName, ByVal chart As Chart) As Title
Dim font As Font = Nothing
Dim foreColor As Color = Nothing
Dim backColor As Color = Nothing
Dim alignment As ContentAlignment = Nothing
Dim dockingOffset As Integer
Dim name As String = String.Empty
Dim titleText As String = String.Empty
Dim dockedToChartArea As String = String.Empty
Dim docking As Docking = Nothing
' Default settings
font = New Font("Arial", 12)
foreColor = color.blue
dockingOffset = 0
dockedToChartArea = chart.ChartAreas(0).Name
' Custom settings
Select Case titleName
Case ChartControls.TitleName.ComponentName
name = TITLENAME_COMP
titleText = chart.Name
alignment = ContentAlignment.BottomLeft
dockingOffset = 0
docking = DataVisualization.Charting.Docking.Top
backColor = Color.Coral
Case ChartControls.TitleName.TrafficLight
name = TITLENAME_TRAFFICLIGHT
titleText = "+34.6% / 1800 €"
alignment = ContentAlignment.TopRight
dockingOffset = 0
docking = DataVisualization.Charting.Docking.Top
backColor = Color.Beige
End Select
Dim title As New Title(titleText)
title.Name = name
title.Font = font
title.ForeColor = foreColor
title.BackColor = backColor
title.Alignment = alignment
title.Position = New ElementPosition()
title.Docking = docking
title.DockingOffset = dockingOffset
title.DockedToChartArea = dockedToChartArea
Return title
End Function我使用不同的参数调用此方法两次,并将它们添加到我的Titles集合中。
发布于 2016-07-07 18:29:12
由于需求,我不得不改变我的变通方法。让我的变通方法在%1下工作会非常耗时。N个大小不同的图表,这取决于图表的数量,因为标签将需要不同的大小和位置。所以我必须找到一个更好的解决方案。
我有一个具有2个不同标题的枚举。以下属性很重要。
。
`Friend Function CreateTitle(ByVal titleName As TitleName) As Title
Dim titleText As String = String.Empty
Dim alignment As ContentAlignment
' Custom settings
Select Case titleName
Case ChartControls.TitleName.Title1
titleText = "Title1"
alignment = ContentAlignment.MiddleLeft
Case ChartControls.TitleName.Title2
titleText = "Title2"
alignment = ContentAlignment.TopRight
End Select
Dim title As New Title()
title.Text = titleText
title.Font = New Font("Arial", 12)
title.BackColor = Color.Transparent
If titleName.Equals(CCT.ChartControls.TitleName.Title2) Then
title.Position = New ElementPosition(0, 3, 94, 5)
Else
title.DockingOffset = 0
End If
title.Alignment = alignment
Return title
End Function`看起来是这样的:两个相同高度的标题。

https://stackoverflow.com/questions/38099331
复制相似问题