Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [VB .NET] Modificare il contenuto di un Form "On-The-Fly"

    Salve, volevo farvi una domanda alquanto banale, ma a cui non sono riuscito a darmi risposta poiché sto utilizzando visual basic da pochissimo tempo.

    Dunque. Ho un form con del contenuto all'interno: si parla di Label, Buttons e così via. Vorrei modificare totalmente il contenuto di questo form quando premo su di un certo pulsante nella modalità debug, senza avere il bisogno di aprirne un altro. E' possibile o c'è qualche espediente particolare dietro?

    So di essere stato poco chiaro. Mi spiego meglio:

    Quando alle volte andiamo ad eseguire una procedura guidata, si apre un certo form. Clicchiamo su "Avanti >" e il contenuto di quel form cambia con il secondo passaggio della procedura guidata. Non si apre mica un form nuovo!

    Spero di essere stato comprensibile e vi ringrazio anticipatamente. Spero potrete darmi un aiuto valido.



    Saluti

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Se devi fare una sorta di Wizard:

    - aggiungi un PictureBox per ogni 'passo' da eseguire
    - mettici dentro i controlli che ti servono
    - mostra/nascondi la relativa PictureBox in base al 'passo'
    - etc...


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Puoi realizzarlo in diversi modi.

    Puoi creare diversi form e impostarli tutti con le stesse grandezze, non penso farebbe differenza, anzi per forse sarebbe anche piu' comodo in modo da gestire meglio tutti i controlli.
    Invece:
    Creandolo su un solo form (anche questo modo puo' essere fatto in diversi modi.)

    Potresti creare una serie di casi che va da 0 ad un numero (che corrisponde a quello dell'ultima azione del wizard)

    quindi ad esempio...

    codice:
    Dim numeroform as integer
    
    Private Sub form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
    Select case numeroform
    
    case 0 ' corrisponde al primo "form" da visualizzare
    
    Me.text = "Wizard Parte 1" 'cambia il titolo del form
    Label1.text = "Benvenuto nel Wizard" 'cambia il testo del label
    back_button.enabled = false 'disabilita il pulsante back solo nel primo caso
    
    case 1 'case 2 corrisponde al secondo"form" da visualizzare
    
    Me.text = "Wizard Parte 2 destinazione file 'cambia il titolo del form
    Label1.text = "Benvenuto nella seconda parte del wizard, scegli la cartella per copiare i file" 
    back_button.enabled = true
    
    case 2
    
    funzioni ecc
    
    case 3
    
    case..4 e ecc
    E richiami i vari casi con i pulsanti Avanti e Indietro, quindi:

    Questo è il pulsante per andare avanti:
    codice:
        Private Sub Button1_next(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
            Case +=1
    
        End Sub
    Questo per andare indietro:

    codice:
        Private Sub Button2_back(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    
           case -=1
    
        End Sub
    Dovrebbe funzionare correttamente tutto quanto.

  4. #4
    No il wizard era un esempio, è piu complesso

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    In questo caso basta semplicemente adattare i tuoi codici alla mia soluzione...

  6. #6
    Ottimo, ti ringrazio!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Se durante il cambio del caso il form non dovesse cambiare contenuto metti tutti i casi all'interno di un timer che si aggiorna ogni frazione di secondo.

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da silvestriweb
    No il wizard era un esempio, è piu complesso
    Il concetto è comunque identico.

    Di certo eviterei di usare 'diversi form',
    altrimenti rischi di trovarti incasinato a gestire eventuali variabili 'comuni'.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.