Nebenstehenden Button ermitteln

  • VB.NET
  • .NET 4.0

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

    Danke @ErfinderDesRades für die super Anleitung!

    ErfinderDesRades schrieb:

    ' **danach** erst Initialisierung von _Buttons
    _Buttons = {{Button1, Button2, Button3},
    {Button4, Button5, Button6},
    {Button7, Button8, Button9},
    {Button10, Button11, Button12}}


    Kann ich die Buttons auch dynamisch eintragen?
    UND zum Beispiel wenn in der 2. Zeile ganz rechts ein Button fehlt oder so?

    Und kann man auch Buttons mit Koordinaten auswählen (also die richtigen Koordinaten)?
    :thumbup:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Hilfe0987“ ()

    Kann ich die Buttons auch dynamisch eintragen?

    Dazu würde ich dir in deinem Fall raten. Erstell dir eine eigene Methode mit einem 2D Array als Rückgabewert, die die Buttons erstellt.
    Beispiel

    VB.NET-Quellcode

    1. Private Function InitializeButtons(linesCount As Integer, columnsCount As Integer) As Button(,)
    2. ' Breite der Buttons ermitteln
    3. Dim iButtonWidth As Integer = (Me.ClientRectangle.Width / columnsCount)
    4. Dim btnArray As Button(,) = New Button(linesCount, columnsCount)
    5. For line As Integer = 0 To linesCount-1
    6. For column As Integer = 0 To columnsCount-1
    7. Dim btn As New Button()
    8. btn.Size = New Size(iButtonWidth, btn.Size.Height)
    9. btn.Location = New Point(btn.Width * column, btn.Height * line)
    10. btn.Text = String.Format("X:{0}, Y:{1}", column, line)
    11. Me.Controls.Add(btn)
    12. btnArray(line, column) = btn
    13. Next
    14. Next
    15. Return btnArray
    16. End Function


    Hilfe0987 schrieb:

    Kann ich die Buttons auch dynamisch eintragen?
    Ist nicht erforderlich, wenn Du alle Deine Buttons so ablegst.
    Da Du Deine Button im Designer anordnest, kannst Du sie auch gleich in Dein Array reinschreiben. Die Methode von @Fakiz ist da durchaus bequemer.
    Allerdings frage ich mich, warum das Buttons sein müssen. Was passiert, wenn da draufgedrückt wird?
    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).
    VB-Fragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    Zeig doch mal deinen Kostruktor (also Public Sub New())

    *Edit*
    Ich hab mir jetzt Grad mal angesehen wie 2D Arrays in vb .Net instanziert werden müssen.

    Msdn schrieb:


    Fügen Sie nach der Deklaration ein Gleichheitszeichen (=) und eine New (Visual Basic)-Klausel ein. Geben Sie in der New-Klausel wieder den Elementdatentyp an, legen Sie die Indexobergrenzen in runden Klammern fest, und geben Sie leere geschweifte Klammern ({}) an.


    Das heisst für dich dir fehlen {} hinter New Button(linesCount, columnsCount)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Fakiz“ ()

    @Hilfe0987 Ja und?
    Sollen wir jetzt auch noch für Dich Deine Fragen formulieren?
    Lernresistent, suchfaul? Wie beschaffe ich mir Informationen:
    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).
    VB-Fragen über PN / Konversation werden ignoriert!