Я создаю GUI в C# с помощью Windows Form. Для просмотра данных в графическом представлении я использую лицензионный TeeChart для .Net v3. Я хочу реализовать события click click в TeeChart. У меня есть код VB6 для этого, потому что GUI создается в VB6 ранее. Я преобразовал этот код VB6 в C#, но все же у меня есть некоторые проблемы. Я хочу создать щелчок мышью на TeeChart. В приведенном ниже коде показан код Vb6 для создания всплывающего окна мыши на teechart.Как добавить события щелчка мыши в TeeChart для .net
Private Sub TChart1_OnMouseUp(ByVal Button As TeeChart.EMouseButton, ByVal Shift As TeeChart.EShiftState, ByVal x As Long, ByVal y As Long)
If Not m_objTransfer Is Nothing Then
If chkGraphVolume.value = vbChecked And Button = mbRight Then
'MsgBox TChart1.Series(0).XValueToText(x)
'MsgBox TChart1.Series(0).XValueToText(TChart1.Series(0).XScreenToValue(x))
'MsgBox TChart1.Series(0).XScreenToValue(x)
m_dblTempVolFromTo = Round(TChart1.Series(0).XValueToText(TChart1.Series(0).XScreenToValue(x)))
mnuPopupChartFrom.Caption = "From " & m_dblTempVolFromTo & " cc"
mnuPopupChartTo.Caption = "To " & m_dblTempVolFromTo & " cc"
PopupMenu mnuPopupChart
ElseIf chkGraphVolume.value = vbUnchecked And Button = mbRight Then
Debug.Print CDate(TChart1.Series(0).XScreenToValue(x))
mnuPopupChartFrom.Caption = "From " & CDate(TChart1.Series(0).XScreenToValue(x))
mnuPopupChartTo.Caption = "To " & CDate(TChart1.Series(0).XScreenToValue(x))
m_dtTempTimeFromTo = CDate(TChart1.Series(0).XScreenToValue(x))
PopupMenu mnuPopupChart
End If
End If
Debug.Print "From " TChart1.Series(0).XValueToText(TChart1.Series(0).XScreenToValue(x)) & " cc
End Sub
Я преобразовал выше код в C#
private void TChart1_OnMouseUp(TeeChart.EMouseButton Button, TeeChart.EShiftState Shift, long x, long y) {
if (!(m_objTransfer == null)) {
if (((chkGraphVolume.value == vbChecked)
&& (Button == mbRight))) {
// MsgBox TChart1.Series(0).XValueToText(x)
// MsgBox TChart1.Series(0).XValueToText(TChart1.Series(0).XScreenToValue(x))
// MsgBox TChart1.Series(0).XScreenToValue(x)
m_dblTempVolFromTo = Round(TChart1.Series(0).XValueToText(TChart1.Series(0).XScreenToValue(x)));
mnuPopupChartFrom.Caption = ("From "
+ (m_dblTempVolFromTo + " cc"));
mnuPopupChartTo.Caption = ("To "
+ (m_dblTempVolFromTo + " cc"));
PopupMenu;
mnuPopupChart;
}
else if (((chkGraphVolume.value == vbUnchecked)
&& (Button == mbRight))) {
Debug.Print;
DateTime.Parse(TChart1.Series(0).XScreenToValue(x));
mnuPopupChartFrom.Caption = ("From " + DateTime.Parse(TChart1.Series(0).XScreenToValue(x)));
mnuPopupChartTo.Caption = ("To " + DateTime.Parse(TChart1.Series(0).XScreenToValue(x)));
m_dtTempTimeFromTo = DateTime.Parse(TChart1.Series(0).XScreenToValue(x));
PopupMenu;
mnuPopupChart;
}
}
Debug.Print;
("From " + (TChart1.Series(0).XValueToText(TChart1.Series(0).XScreenToValue(x)) + " cc"));
}
Но я не могу использовать приведенный выше код для создания всплывающих окон на TeeChart. Я хочу создать всплывающее меню с щелчком мыши по оси x. поэтому, пожалуйста, помогите мне с этим.
Заранее благодарен.
Спасибо за ваш ответ. Предыдущий код VB6 работает отлично. Теперь я должен попробовать ваш метод, и я скоро приму вас. – reddy