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

    [vb.net] Dimensionare il form principale in base ad un altro form secondario

    Ho creato un form pricipale dove ho inserito un menustrip, un toolstrip e un uno status strip nella parte centrale ho inserito un controllo panel e ho settato le poprietà:

    (panel)
    autosize: True
    autosizemode: GrowAndShrink
    dock: Fill

    allo stesso modo ho settato il form principale:

    (form principale)
    autosize: True
    autosizemode: GrowAndShrink

    Adesso per cambiare form di visualizzazione nel panel ho inserito questo comando nei rispettivi controlli toolstrip:

    Me.PagePanel.Controls.Clear()
    PagePanel.Size = My.Forms.sez01ebay.Size
    My.Forms.sez01ebay.TopLevel = False
    My.Forms.sez01ebay.Parent = PagePanel
    My.Forms.sez01ebay.Show()

    Adesso però cosa accade? tutto si vede perfettamente solo che quando clicco su un comando toolstrip fa un effetto resize velocissimo dovuto alla riga Me.PagePanel.Controls.Clear(), infatti, svutando il panel il form si ridimensiona al contenuto del panel (vuoto) poi subito ritorno ad essere normale date che lo ripopolo con le istruzioni successive... se elimino la voce ovviamente si affiancano tutti form...

    In sostanza questa è la soluzione che ho trovato io ma il punto è questo: realizzo tanti form quante sono le pagine (300x300 per esempio) e voglio che il form sia adattato a questa misura del controllo panel.

    Poi ancora una cosa se gioco sulla visibilità di un form (segliendo un altra strada) dovrei creare tante istanze quante sono le form da visualizzare e quindi non sprecherei memoria?

    thanks

  2. #2
    Ho risolto impostando l'autosize del form principale su false prima del select case :

    Me.AutoSize = False
    Select Case e.ClickedItem.Tag
    Case 1
    Me.PagePanel.Controls.Clear()
    PagePanel.Size = My.Forms.sez01ebay.Size
    My.Forms.sez01ebay.TopLevel = False
    My.Forms.sez01ebay.Parent = PagePanel
    My.Forms.sez01ebay.Show()
    sezioneShow = e.ClickedItem.Tag
    Case 2
    Me.PagePanel.Controls.Clear()
    PagePanel.Size = My.Forms.sez02automoto.Size
    My.Forms.sez02automoto.TopLevel = False
    My.Forms.sez02automoto.Parent = PagePanel
    My.Forms.sez02automoto.Show()
    sezioneShow = e.ClickedItem.Tag
    End Select
    Me.AutoSize = True

    Thanks e cmq sono disposto ad altre soluzioni

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.