Oppure

Loading
27/11/13 14:07
rocchissimo
Buongiorno a tutti, eccomi con un nuovo quesito XD

Io ho un form, all interno sono presenti 5 panel (normalmente nascosti) 1 button e 1 textbox.
Dentro ad ogni panel e' presente un label e un button.
Il panel sono "impilati" (vedere immagine allegata 1)

Quando un utente preme il pulsante presente nel form viene richiamata una sub che verifica il valore della variabile nsveglia: In base a questo definisce quale panel visualizzare e dove memorizzare il dati della textbox

Sub per mostrare i panel:

 Private Sub Mostra_pannello()
        Dim nsveglia as Integer
        Select Case nsveglia
            Case 0
                Panel1.Visible = True
                Label1.Text = TextBox1.Text
                nsveglia = nsveglia + 1
            Case 1
                Panel2.Visible = True
               Label2.Text = TextBox1.Text
                nsveglia = nsveglia + 1
            Case 2
                Panel3.Visible = True
                Label3.Text = TextBox1.Text
                nsveglia = nsveglia + 1
            Case 3
                Panel4.Visible = True
              Label4.Text = TextBox1.Text
                nsveglia = nsveglia + 1
            Case 4
                Panel5.Visible = True
              Label5.Text = TextBox1.Text
                nsveglia = nsveglia + 1
            Case 5
               
                Panel6.Visible = True
               Label6.Text = TextBox1.Text
                nsveglia = nsveglia + 1
            Case 6
                Panel7.Visible = True
               Label7.Text = TextBox1.Text
                nsveglia = nsveglia + 1
            Case 7
               
                Panel8.Visible = True
               Label8.Text = TextBox1.Text
                p8 = True
                nsveglia = nsveglia + 1
        End Select


Cliccando sul pulsante presente in ogni panel visualizzato quest'ultimo dovrebbe essere "eliminato", cioè se sono visualizzati 3 panel e viene cliccato "elimina" sul primo (a partire dall'alto) il testo del label del primo panel dovrebbe essere rimpiazzato con quello del secondo, il testo del label del 2 panel viene rimpiazzato con il testo del label del terzo panel e il terzo pannello viene nascosto. (Vedere immagine allegata 2)

Dopo tutta questa spiegazione il mio problema e': come posso scrive una sub che mi faccia le operazioni descritte prima?

P.s: l' effetto che vorrei ottenere e' dello stesso tipo che si ottiene quando si elimina una sveglia dall'applicazione "orologio" dell'iphone, ma senza spostare (quindi senza modificare le cordinate) del panel. Chiaramente senza l'animazione dello scorrimento.
Ultima modifica effettuata da rocchissimo 27/11/13 14:26
aaa
27/11/13 14:16
rocchissimo
Non riesco a capire se l'allegato è disponibile XD

In ogni caso la foto è disponibile qui vendita2patate.altervista.org/…
aaa
28/11/13 14:52
Roby94
Guarda il tuo atteggiamento di risoluzione mi sembra (scusa il termine) molto sciatto. Creare una classe che contempli i controlli che definiscono i tuoi panel ti renderebbe tutto il lavoro piu semplice, cosi potrai creare nuove istanze di tale classe per ogni panel, non avrai limitazioni date dal numero di panel, a questo punto potrai implementare una funzione statica che in caso di eliminazione di un istanza sposterà tutti i panel sottostanti di un unita verso l'alto.
aaa
28/11/13 19:11
rocchissimo
Ok, potresti farmi un esempio di come potrei impostare la classe perfavore?
aaa
28/11/13 21:59
Roby94
Guarda, a mio parere potresti ereditare dalla classe panel, cosi avresti già la tua base di panel, dopodiché gli inserisci i due controlli all'interno, in questo modo quando andrai a creare la classe ti ritroverai un panel già formattato. A quel punto ti basta definire la funzione che elimina un panel e ri formatta i panel restanti senza andare a toccare i controlli all'interno di essi.
aaa