|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2005
Messaggi: 66
|
[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 |
|
Member
Iscritto dal: Jul 2005
Messaggi: 66
|
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 |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:05.



















