Resize controlli

mercoledì 18 febbraio 2009 - 15.04

alabama Profilo | Newbie

Ciao a tutti,
Vorrei ridimensionare i controlli come label e textbox e relativi font quando viene fatto il resize della form che li contiene. Il mio problema è che se ho ad esempio una label e una textbox affiancate, aumentando la dimensione della label, la textbox dovrebbe spostarti più a destra. Per ora ho risolto così:
Me.TextBox1.Left = Me.Label1.Left + Me.Label1.Width + 5
ma non esiste un modo per rendere automatica la cosa?

Grazie

Teech Profilo | Expert

Prova ad inserire i controlli in un TableLayoutPanel: attravero le proprietà Dock e Anchor dei singoli controlli puoi risolvere il problema già a design time.

--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

alabama Profilo | Newbie

Non esiste un modo per farlo in maniera trasparante come si faceva in vb 6?

Teech Profilo | Expert

In che senso? Il Panel non lo vedi, più trasparente di così (scherzo).
Cosa intendi esattamente?

--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

alabama Profilo | Newbie

Bella la battuta
Qualcosa di più immediato e trasparente...ho visto che esiste un metodo form.scale, ma non ho ben capito come funziona...non si può magari nel resize del form chiamare questo metodo scale che si occupa di scalare la form e relativi controlli?

Teech Profilo | Expert

Non l'ho mai usato il metodo Scale, ma da quello che ho capito agisce sulle dimensioni del controllo e non sul "punto di origine" (le coordinate X e Y del punto in alto a sinistra del controllo).
Probabilmente, dietro le quinte, l'ancoraggio ed il docking utilizzano anche il metodo scale dell'oggetto contenitore per eseguire i relativi ridimensionamenti e traslazioni. Ultimamente stò approfondendo GDI+ e ritengo che il disegnare controlli utilizzi il GDI+.
In ogni caso, ho dato uno sguardo anche a WPF e mi sono accorto che per ordinare i controlli sul form vengono usati, in cascata ed in modo gerarchico, dei "pannelli" nidificati fra di loro con diversi comportamenti e questo mi ha fatto pensare che la giusta tecnica sia appunto l'utilizzo dei pannelli a design time... Ovviamente questo è un parere personalissimo e non supportato da alcuna documentazione (non l'ho cercata).
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
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