1
VBチャートを使用したVB2010:1つのシリーズをポイントチャートとして追加しました。時には1000以上のポイントがあり、ポイントラベルがあまりにも混乱してしまいます。私はスマートラベリングを持っています:MSチャートfor .NETのオフポイントラベルをオフにする
cht.Series("srs").SmartLabelStyle.Enabled = True
しかしそれでもそれでも悪いです。そこで、ラベルを消すためのコンテキストメニューを追加しました。ユーザーはスポットにズームインし、ラベルをオンに戻したい場合はズームインすることができます。すべてのデータポイントをループせずにこれを行う方法を見つけることはできません。
私は完全に
cht.Series("srs").Enabled = False
でポイントとラベルを非表示にすることができますしかし、私はちょうどラベルが隠され、その後、ユーザーはそれを選んだしたときに再表示することにしたいです。
助けてください。
編集: 1つのコマンドでラベルをオン/オフする方法が見つからないため、現在シリーズの各ポイントを循環しています。
Me.Cursor = Cursors.WaitCursor
Application.DoEvents()
'suspend updating UI
cht.Series.SuspendUpdates()
'cycle through all points in the series and set the label either to an empty string or whatever is cached in the Tag property.
'todo: this is not efficient for large datasets but its the only thing we have.
For Each pt As DataPoint In cht.Series("srs").Points
If mnuDisplayLabels.Checked Then
pt.Label = pt.Tag.ToString
Else
pt.Label = ""
End If
Next pt
'resume updating UI
cht.Series.ResumeUpdates()
'force redraw of chart
cht.Update()
これは私が恐れていたものですが、私はそれを撃つことができます。 – sinDizzy