Visual Basic 2010 am Gitter ausrichten (in Form)

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Visual Basic 2010 am Gitter ausrichten (in Form)

    Hey Community!

    Ich habe im Internet einen Code entdeckt womit man auf seiner Form ein Gitternetzt Zeichnen kann:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Private spalten As Integer = 15
    2. Private reihen As Integer = 15
    3. Public Sub DrawLines(ByVal g As Graphics)
    4. Dim factorx As Double = (Panel1.ClientSize.Width / spalten) - (1 / spalten)
    5. Dim factory As Double = (Panel1.ClientSize.Height / reihen) - (1 / reihen)
    6. For y As Integer = 1 To reihen
    7. g.DrawLine(Pens.Green, 1, CInt(y * factory), Panel1.Width, CInt(y * factory))
    8. Next
    9. For x As Integer = 1 To spalten
    10. g.DrawLine(Pens.Green, CInt(x * factorx), 1, CInt(x * factorx), Me.Height)
    11. Next
    12. End Sub
    13. Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
    14. Me.Refresh()
    15. End Sub
    16. Private Sub Panel1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
    17. e.Graphics.Clear(Color.Black)
    18. DrawLines(e.Graphics)
    19. End Sub



    Funktioniert soweit auch perfekt und laggt auch nicht.
    Nun möchte ich es aber so modifizieren, das es so wie im Visual Basic Editor ist, das heißt die Steuerelemente richten sich an diesem Raster aus.

    Könntet Ihr mir vielleicht dabei helfen?
    Danke im vorraus :)
    Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

    Für VB.NET Entwickler: Option Strict On nicht vergessen!
    Das halte ich für die falsche Herangehensweise.
    Schau dir mal das TableLayoutPanel an. Das ist für deine Zwecke vielleicht besser geeignet.
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    @Schamash
    Könnte man das nicht ohne das TableLayoutPanel realisieren?
    Möchte es nicht so gerne darin machen. Oder gibt es irgendwie eine vorgefertigte DLL?
    Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

    Für VB.NET Entwickler: Option Strict On nicht vergessen!

    ClonkAndre schrieb:

    Möchte es nicht so gerne darin machen.
    Warum nicht? Das Teil ist sehr mächtig, wenn du Controls sauber anordnen willst (gerade in mehrsprachigen Programmen).
    Du kannst btw. aber auch in den Einstellungen vom VS ein Gitternetz aktivieren, an dem sich die Controls ausrichten:

    Geht sogar noch 2017 :D
    @ClonkAndre Was hast Du ühaupt vor?
    Kannst Du das mal kurz umreißen?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!