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

    Creare una sottofinestra visual basic 2010

    Ciao a tutti, ho un problema riguardante la creazione di una sorta di sotto-menu. In pratica dovrei cliccare un bottone e la form si deve ampliare mostrandomi nuove funzionalità, come la creazione di un grafico. Ho provato ad utilizzare la funzione mdi child ma apre solamente una nuova form a casaccio all'interno di quella principale.

    il codice che ho scritto è il seguente:

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles ButtonTest.Click
    Dim NewMDIChild As New Form2()
    'Set the Parent Form of the Child window.
    NewMDIChild.MdiParent = Me
    'Display the new form.
    NewMDIChild.Show()
    End Sub

    il problema è che mi apre una form2 a casaccio nella form uno invece dovrebbe aprirsi appena sotto la form1 senza andare sopra i bottoni. Qualcuno può darmi una dritta?? Grazie!

  2. #2
    Specifico che io non vorrei aprire un secondo form, ma vorrei solo avere un bottone il quale cliccandolo me lo amplia e mi fa visualizzare in basso una parte "nascosta" del form in cui ho altri bottoni..

  3. #3
    Deve aprirsi una sorta di pannello in cui vi sono altri tasti e funzionalità.. Si può utilizzare il panel di visual basic??

  4. #4
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Io avevo fatto più o meno così:
    codice:
        Dim WithEvents timer1 As New Timer
        Dim aperto As Boolean = False
        Dim incremento As Integer
        Dim dimensione As Integer
    
        Private Sub apri_chiudi() Handles Button1.Click
            If aperto = False Then
                incremento = 4
            Else
                incremento = -4
            End If
            timer1.Interval = 1
            timer1.Start()
            Button1.Enabled = False
        End Sub
    
        Private Sub animazione() Handles timer1.Tick
            Me.Height += incremento
            dimensione += incremento
            If dimensione = 0 Then
                timer1.Stop()
                aperto = False
                Button1.Enabled = True
            ElseIf dimensione = 100 Then
                timer1.Stop()
                aperto = True
                Button1.Enabled = True
            End If
        End Sub
    In pratica con un Button si espande/riduce con una "animazione" la parte inferiore del Form del valore impostato nell' 'ElseIf', la velocità dell' animazione è data dall' intervallo del Timer e dal valore di 'incremento', occhio che quest' ultimo deve essere sottomultiplo del valore dell' 'ElseIf'.
    Facendo così devi prevedere ad abilitare/disabilitare i controlli "nascosti, impedire il resize e che la parte che si espande non finisca fuori dallo schermo con il pericolo di non vedere la "nuova" parte del Form....

  5. #5
    Crea tramite IDE il form delle dimensioni massime, con tutto quello che vuoi vedere.

    Poi guarda a che altezza vengono "nascosti" i controlli che vuoi vedere solo in seguito.

    Supponiamo che il form "completo" sia alto 900 e quello "raccorciato" 750.

    Nell' evento Load del form scrivi: Me.Height = 750

    Nell' evento Click del Button scrivi: Me.Height = 900

    Bye

  6. #6

    Perfetto

    Grazie Vincent ed eziogsv per le utilissime risposte! Ho utilizzato la soluzione di eziogsv anche se più "spartana" Poiché servirà questo programma a metalmeccanici, non penso abbiano la pazienza e il tempo di vedere la finestra che scorre rallentata Meglio una soluzione grezza in questo caso, anche se quella di Vincent era ottima! Ho aggiunto un flag per poter richiudere il form per poter rimpicciolire il form.. Vi ringrazio tantissimo! Buona giornata!

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.