none
Chart bearbeiten RRS feed

  • Frage

  • Guten Tag,

    ich erstelle gerade eine Anwendung mit dem Chartmodul.
    Geht soweit auch. Meine Frage, hat einer eine Idee, wie ich es
    hinbekommen könnte, den Chart über die Maus und eine Taste zu skalieren?.

    Am liebsten wäre mir, wenn ich die y Scale anklicken könnte und dann hoch und runter
    mit der Maus das Chartbild in der Höhe verändern kann.

    Hat da jemand eine Idee oder sogar ein Beispiel wie man so etwas angehen könnte.

    Gruß Olaf


    Olafx

    Mittwoch, 13. August 2014 15:22

Alle Antworten

  • Hallo,
    du könntest das Chart in ein Panel packen und die AutoScroll des Panels auf true stellen. Wenn du das Chart nun mit der Height- und Width-Eigenschaft vergrößerst, zeigt das Panel automatisch Scrollleisten an.

    Das dürfte die einfachste Möglichkeit sein. Natürlich kannst du auch noch selbst das ziehen des Charts mit Hilfe der Mouse-Events implementieren.


    Tom Lambert - C# MVP
    Bitte bewertet- und markiert Beiträge als Antwort. Danke.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Mittwoch, 13. August 2014 15:48
    Moderator
  • Mit der Maus und einem Buchstaben zusammen wäre mir lieber.
    Über die Achse geht das nicht, da ich für die keinen Fokus bekomme.

    Mal schauen wie ich das mit der Maus hin bekomme.

    Gruß Olaf


    Olafx

    Mittwoch, 13. August 2014 17:32
  • Hier mal etwas Code mit welchen das ganze Funktioniert.
    Jetzt noch die Feinheiten....
     Private Sub Chart1_AxisScrollBarClicked(sender As Object, e As System.Windows.Forms.DataVisualization.Charting.ScrollBarEventArgs) Handles Chart1.AxisScrollBarClicked
            maustest = "aus"
        End Sub
    
        Private Sub Chart1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Chart1.MouseDown
            maustest = "Down"
        End Sub
    
        Private Sub Chart1_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Chart1.MouseMove
           
            If e.X > 50 AndAlso e.X < 85 Then
                If maustest = "Down" Theh
                    Charten(CInt(e.Y / 10))
                    Debug.Print(e.Location.ToString)
                End If
            End If
    
        End Sub
    
        Private Sub Chart1_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Chart1.MouseUp
            maustest = "up"
        End Sub


    Olafx

    Mittwoch, 13. August 2014 19:29