Aktivieren Mausrad Zoomen in ein Microsoft Chart-Control
aktivieren von Zoomen in Microsoft chart-Steuerelement mithilfe von Maus-Rad
Habe ich den code unten, ich muss wissen, wie man dieses Ereignis? in welche Klasse es ist..
private void chData_MouseWheel(object sender, MouseEventArgs e)
{
try
{
if (e.Delta < 0)
{
chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset();
chart1.ChartAreas[0].AxisY.ScaleView.ZoomReset();
}
if (e.Delta > 0)
{
double xMin = chart1.ChartAreas[0].AxisX.ScaleView.ViewMinimum;
double xMax = chart1.ChartAreas[0].AxisX.ScaleView.ViewMaximum;
double yMin = chart1.ChartAreas[0].AxisY.ScaleView.ViewMinimum;
double yMax = chart1.ChartAreas[0].AxisY.ScaleView.ViewMaximum;
double posXStart = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X) - (xMax - xMin) / 4;
double posXFinish = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X) + (xMax - xMin) / 4;
double posYStart = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Location.Y) - (yMax - yMin) / 4;
double posYFinish = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Location.Y) + (yMax - yMin) / 4;
chart1.ChartAreas[0].AxisX.ScaleView.Zoom(posXStart, posXFinish);
chart1.ChartAreas[0].AxisY.ScaleView.Zoom(posYStart, posYFinish);
}
}
catch { }
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, die obige Antwort sollte sein,
chData.MouseWheel += new MouseEventHandler(chData_MouseWheel);
Aber nach dem, was ich fand heraus, dass der chart das Maus-Rad funktioniert nicht, solange Sie nicht setzen Sie den Fokus auf das Diagramm-Steuerelement in Ihrem code. So habe ich die Maus-Eingabe der chart-Steuerelement, um den Fokus auf das Diagramm und Maus verlassen-Ereignis des chart-Steuerelement festlegen, die Kontrolle zurück zu seinen Eltern.
So müssen Sie die folgenden Zeilen in den code binden Sie die Maus verlassen und Maus geben Sie die Ereignisse des chart-Steuerelement entsprechend plus fügen Sie die obige Zeile zu.
Was Sie haben, ist eine handler-Methode für das
MouseWheel
Veranstaltung. Müssen Sie Ihre handler-Methode, um dieMouseWheel
Ereignis für das chart-Steuerelement. Aus der Signatur der Methode, ich nehme an, dass Ihr chart-Steuerelement namenschData
, so könnten Sie den folgenden code im Konstruktor des Formulars:Natürlich könnte man auch assoziieren der handler mit dem event in der design Zeit. Um das zu tun, verwenden Sie die Eigenschaften-Fenster und klicken Sie auf das Blitzsymbol in der Symbolleiste wechseln Sie in die "Ereignisse" anzeigen. Dann finden Sie die
MouseWheel
Ereignis, klicken Sie auf den Dropdown-Pfeil, und wählen Sie Ihre handler-Methode die Signatur. Dadurch wird den designer schreiben Sie den obigen code in den code-behind-Datei für Ihr Formular.Abgesehen davon, dass, es gibt eine riesige rote fahne in deinem code: ein leeres
catch
block. Wenn Sie nicht eine Ausnahme behandeln oder tun etwas mit ihm, dann sollten Sie nicht fangen. Das ist nicht Pokemon, es gibt keine Belohnung für den Fang von Ihnen allen.