JavascriptProva

domenica 12 gennaio 2014

Appunti personali: il codice finora costruito

Riassumo qui l'ultimo codice:
Public Class Form1
    Dim WithEvents mGrid As Griglia(Of Pannello)
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        mGrid = New Griglia(Of Pannello)(Me, True, 30, 5, 10, 10)
        For Each elemento As Pannello In mGrid
            AddHandler elemento.MouseDown, AddressOf Aggiungi
        Next
    End Sub
    Sub Aggiungi(sender As Object, e As MouseEventArgs)
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Dim child As New miaLabel
            AddHandler child.MouseDown, AddressOf ClickContenuto
            sender.controls.add(child)
            Ridistribuisci(sender)
        End If
    End Sub
    Sub ClickContenuto(sender As Object, e As MouseEventArgs)
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Aggiungi(sender.parent, e)
        Else
            Rimuovimi(sender)
        End If
    End Sub
    Private Sub Ridistribuisci(contenitore As Object)
        Dim base = 0
        For Each C In contenitore.Controls
            C.width = contenitore.Width / contenitore.Controls.Count
            C.location = New Point(base * contenitore.Width / contenitore.Controls.Count, 0)
            base += 1
            C.bringtofront()
        Next
    End Sub
    Sub Rimuovimi(contenuto As Object)
        Dim temp As Object = contenuto.parent
        contenuto.parent.controls.remove(contenuto)
        Ridistribuisci(temp)
        temp = Nothing
    End Sub
End Class
Class Pannello
    Inherits Panel
    Sub New()
        Width = 100
        Height = 20
        BorderStyle = Windows.Forms.BorderStyle.FixedSingle
    End Sub
End Class
...casomai dovessi dimenticarlo così lo prendo e lo riattacco pari pari...

Nessun commento:

Posta un commento