2016-05-15 3 views
-1

Буду очень благодарен, если кто-нибудь может помочь мне с моей проблемой. У меня есть некоторые данные, нанесенные на диаграмме VB.Net, как на рисунке ниже. MS Chart control Sleection Rectangle

Что мне нужно - выбрать с помощью мыши некоторые пункты (я понял, как выбрать одну точку, но трюк - выбрать группу точек ...) на диаграмме и поместить их в определенный массив?

С нетерпением жду ваших ответов.

+0

При задании вопроса о проблеме, вызванной вашим кодом, вы получите гораздо лучшие ответы, если вы предоставите код, который люди могут использовать для воспроизведения проблемы. См. Http://stackoverflow.com/help/mcve, чтобы помочь вам написать пример минимального, полного и проверяемого. – Baddack

ответ

0

Постараюсь быть более точным. Это то, что я сделал до сих пор, и это мало. Я новичок в программировании так нежна :)

chGrupa1.ChartAreas(0).CursorX.IsUserSelectionEnabled = True 
    chGrupa1.ChartAreas(0).CursorY.IsUserSelectionEnabled = True 
    Dim htrResult As HitTestResult = chGrupa1.HitTest(Cursor.Position.X, Cursor.Position.Y) 
    For Each dp As DataPoint In chGrupa1.Series(0).Points 
     ListBox2.Items.Add(dp.XValue.ToString()) 
     ListBox3.Items.Add(dp.YValues(0).ToString()) 
    Next dp 

Пример я нашел в Интернете выглядит как код ниже:

'мышь вниз событий Private Sub Chart1_MouseDown (отправитель As Object, е Как System.Windows. Forms.MouseEventArgs) Ручки Chart1.MouseDown

"Call Hit Метод испытаний дим результат Как HitTestResult = Chart1.HitTest (Исх, EY)

If result.ChartElementType = ChartElementType.DataPoint Then 

'Create Dialog 
Dim dlg As New Dialog() 

'Initialize members 
dlg.ChartRef = Chart1 
dlg.pointIndex = result.PointIndex 

' Show dialog 
dlg.Show() 

Else 
If result.ChartElementType <> ChartElementType.Nothing Then 
    Dim elementType As String = result.ChartElementType.ToString() 
    MessageBox.Show(Me, "Selected Element is: " + elementType) 
End If 
End If 

End Sub 'Chart1_MouseDown

' Mouse Move Event Private Sub Chart1_MouseMove (отправитель As Object, е Как System.Windows.Forms.MouseEventArgs) Ручки Chart1.MouseMove

"Call Hit Метод испытаний Dim результат Как HitTestResult = Chart1.HitTest (Исх Е.Ю.)

' If a Data Point or a Legend item is selected. 
If result.ChartElementType = ChartElementType.DataPoint Or result.ChartElementType = ChartElementType.LegendItem Then 
    ' Set cursor type 
    Me.Cursor = Cursors.Hand 
Else 
    If result.ChartElementType <> ChartElementType.Nothing And result.ChartElementType <> ChartElementType.PlottingArea Then 
     ' Set cursor type 
     Me.Cursor = Cursors.Hand 
    Else 
     ' Set default cursor 
     Me.Cursor = Cursors.Default 
    End If 
End If 

End Sub «Chart1_MouseMove

Главная проблема для меня, как удержать мои точки находятся внутри выбранной области и как получить их индексы ...