Kreis proportional

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Kreis proportional

    So ich bin mit meinem ersten Projekt schon ein gutes Stück weiter gekommen,
    Jedoch hänge ich aktuell an einem grafischen Problem.

    Ich möchte eine farbliche Zielscheibe erstellen, diese sollte sich jedoch
    proportional zur Fenstergröße anpassen.
    Das Zeichnen von Kreisen selber ist ja kein Problem, jedoch haben die immer eine feste größe.

    Da ich leider noch keine leicht verständliche Anleitung zum Thema wpf/xaml für Programmier-
    Einsteiger gefunden habe, nutze ich noch die einfache GDI.


    Vielen Dank.
    Huhu,

    bin nicht so der GDI-Profi, aber in etwa so sollte das gehen.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
    3. Dim r As New Rectangle(New Point(0, 0), New Size(Me.ClientRectangle.Width, Me.ClientRectangle.Height))
    4. Dim r1 As New Rectangle(New Point(10, 10), New Size(Me.ClientRectangle.Width - 20, Me.ClientRectangle.Height - 20))
    5. Dim r2 As New Rectangle(New Point(20, 20), New Size(Me.ClientRectangle.Width - 40, Me.ClientRectangle.Height - 40))
    6. e.Graphics.DrawEllipse(Pens.Red, r)
    7. e.Graphics.DrawEllipse(Pens.Red, r1)
    8. e.Graphics.DrawEllipse(Pens.Red, r2)
    9. MyBase.OnPaint(e)
    10. End Sub
    11. Private Sub Form1_Resize(sender As System.Object, e As System.EventArgs) Handles MyBase.Resize
    12. Me.Invalidate()
    13. End Sub
    14. End Class
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Danke, aber irgendwie ist da noch ein kleines Problem.
    Habe es extra also neues Projekt jetzt gemacht und bekomme dort jetzt noch folgende Fehlermeldung.

    Fehler 1 Eine Anweisung kann nicht innerhalb eines Methodentexts verwendet werden. Das Methodenende wird angenommen.
    Betroffen ist folgende Anweisung.

    VB.NET-Quellcode

    1. Protected Overrides Sub OnPaint(e As System.Windows.Forms.PaintEventArgs)
    Diese Anweisung darfst Du auch nicht innerhalb einer Methode verwenden, das ist eine Methode, nämlich die überschriebene Methode der Basisklasse. Machs einfach so, wie in meinem Beispiel.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o

    SpaceyX schrieb:

    Diese Anweisung darfst Du auch nicht innerhalb einer Methode verwenden, das ist eine Methode, nämlich die überschriebene Methode der Basisklasse. Machs einfach so, wie in meinem Beispiel.
    Ups mein Fehler :whistling:

    @ ErfinderDesRades
    Ich meinte natürlich das, das Projekt noch auf WinForms gemacht ist.

    Verdammt der Einstieg ist manchmal ganz schön verwirrend ^^