Inserimento di un panel dopo il ridimensionamento di una finestra

giovedì 02 aprile 2009 - 16.10

gianluke Profilo | Newbie

Ciao a tutti,
sto creando un'applicazione in stile Outlook con una parte sinistra dove è presente un menù dove cliccando sulle varie voci apro un panel diverso sulla parte destra della form principale.
Quindi ho un panel "attaccato" a sinistra e un altro sulla parte destra che cambia ogni volta che clicco su un bottone della mia OutlookBar.
Visto che ho 5 bottoni nella Outlookbar ho anche 5 panel corrispondenti.
Il problema ce l'ho quando devo richiamare un panel dopo che ho ridimensionato la finestra dell'applicazione: il panel non viene caricato in modo proporzionale alla nuova dimensione della finestra, ma rimane delle dimensioni fissate nelle sue proprietà.

Come posso fare??

freeteo Profilo | Guru

Ciao,
per questo tipo di interfacce c'è il controllo del framework "SplitContainer" il quale ha 2 pannelli classici con lo splitter al centro (che eventualmente puoi bloccare).
A questo punto ti basta caricare i tuoi pannelli nel panel di destra chiamato "panel2" e mettergli sempre la proprietà "Dock=Fill" in modo che riempia sempre la sua area disponibile:
tuopanel = new Panel(); ... tuopanel.Dock = DockStyle.Fill; splitcontrol1.Panel2.Controls.Add(tuopanel);

e ovviamente il tuo splitcontrol lo puoi ancorare ai 4 lati della form, quindi prende il ridimensionamento della form stessa, e di conseguenza i suoi pannelli interni.
Prova a darci un'occhiata.

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5