[VS2008] Dimensioni Form...

lunedì 30 giugno 2008 - 17.59

LordS Profilo | Newbie

Ho notato che il VS2008 mi da come impostazioni massime per le dimensioni di un form, la risoluzione video del pc su cui si effettua l'editing.

Il problema si pone quando ad esempio sviluppo su un monitor a 1280x1024, e poi magari presso un cliente faccio un ritocco al volo sul programma, praticamente il form mi viene Ridotto di brutalità, quindi i controlli al limite vengono tagliati fisicamente fuori....

Se poi riapro il progetto sul pc con la risoluzione maggiore e allargo il form, torna tutto regolare.

Quindi chiedo, è possibile fare in modo che l'area massima di un form non sia dipendente alla risoluzione del pc su cui si sta sviluppando ?

Saluti

Brainkiller Profilo | Guru

>Quindi chiedo, è possibile fare in modo che l'area massima di
>un form non sia dipendente alla risoluzione del pc su cui si
>sta sviluppando ?

Non so se ho capito bene la tua richiesta.
La Form ha una proprietà che si chiama WindowState, lo puoi impostare a Maximized e indipendentemente dalla risoluzione dello schermo, l'applicazione partirà a pieno schermo.
Fammi sapere se è questo che vuoi sapere.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

LordS Profilo | Newbie

Effettivamente mi sono spiegato male, provo a spiegarmi meglio...

Sembra che il Valore massimo della Proprietà Size di un Oggetto Form, sia dipendente dalla Risoluzione dello schermo.

Questo avviene anche quando si è in Design, quindi se fisicamente vado ad editare un form, aggiungendo in modo "visivo" dei controlli o altro sul form, il Form prende in automatico le dimensioni massime della risoluzione dello schermo.

Quindi cosa succede...

Ipotizziamo che disegno un form su una risoluzione 1280x1024
- Fin qui tutto bene ovvero imposto i Size a questo massimo valore e procedo a disegnare.

Passo il progetto su un altri PC
Andiamo a finire su un pc con risoluzione 800x600, devo aggiungere un pulsate....
Nel momento in cui apro il form generato dall'altro pc, il .NET mi va a modificare le proprietà size con i nuovi valori massimi di questo pc, ovvero
800x600

Quindi io gia fisicamente su questo PC, mi ritrovo il form Ridotto e quindi "perdo" quella porzione di form, contenente bottoni o altro, e quindi mi diventa ineditabile.

Salvo il Progetto

Riapro il progetto con il 1280x1024, mi ritrovo il form a 800x600 dato che è stato salvato dall'altro form... pero in questo caso posso rimetterlo a 1280x1024, e quindi mi riappare la porzione di form scomparsa in precedenza.

Praticamente facendo un Confronto con il Vecchio VB6, quando un form aveva dimensioni maggiori rispetto alla Risoluzione, semplicemente apparivano delle scroll bar e nonostante tutto il form era editabile completamente dato che bastava scorrere la finestra di editing.

In .NET sembra invece che non sia possibile, dato che costringe la dimensione massima del form in funzione alla risoluzione.

La domanda era se esisteva qualcosa sorta di opzione per disattivare questo limite, che puo creare i problemi citati sopra nel caso in cui venga sviluppato un applicativo in postazioni "differenti".

Spero di essere stato un pelo piu chiaro, ma comunque rimane un concetto abbastanza articolato......

Saluti

Brainkiller Profilo | Guru

>Effettivamente mi sono spiegato male, provo a spiegarmi
>meglio...

Ora ho capito, non sapevo neanche io di questa cosa e non ho trovato soluzione.
Abbastanza assurda, praticamente non ti lascia impostare una Width/Height da designer maggiore della risoluzione dello schermo Effettivamente portando una soluzione sviluppata su un 1600x1200 non si riesce a lavorare. Ho cercato eventuali settings nelle opzioni dell'IDE ma non ho trovato niente.

Chiaro che dire di non lavorare più su schermi a 800x600 e magari far sì che i Dev si adattino tutti a una certa risoluzione non è proprio una soluzione efficace

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

LordS Profilo | Newbie

Esatto...

Ma il problema porta una catena di conseguenze, a prescindere dall'esempio eclatante che ho fatto prima, pensa ai portatili, molti li stanno facendo in 16:9

Praticamente hai sempre una risoluzione differente rispetto ai monitor 4:3 rispetto a un desktop.... che disastro

Speriamo che si trovi una soluzione.

Brainkiller Profilo | Guru

>Praticamente hai sempre una risoluzione differente rispetto ai
>monitor 4:3 rispetto a un desktop.... che disastro

Ma tu/voi avete colleghi e lavorate tutti su PC con risoluzioni diverse ? Il problema c'è solo per chi sviluppa no ?


David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

LordS Profilo | Newbie

Praticamente si, siamo una piccola azienda saremo un 4/5 softwaristi ognuno è provvisto di PC Fisso, per lo Sviluppo Interno e poi ognuno ha un portatile, per l'assistenza tecnica, e quindi è fisiologicamente impossibile avere la risoluzione uguale per tutti...

Per quanto riguarda il tutto rimane ovviamente una problematica legata allo sviluppo e non al cliente finale.

Diciamo che la cosa che turba di piu è che il VS di sua iniziativa mi cambia delle proprietà senza neanche chiedere una conferma o altro...

Brainkiller Profilo | Guru

>Praticamente si, siamo una piccola azienda saremo un 4/5 softwaristi
>ognuno è provvisto di PC Fisso, per lo Sviluppo Interno e poi
>ognuno ha un portatile, per l'assistenza tecnica, e quindi è
>fisiologicamente impossibile avere la risoluzione uguale per
>tutti...

Ok ok hai perfettamente ragione.
Prova a fare così.
Apri il progetto su uno schermo 1600x1200 e setta la dimensione di Width/Height della finestra che vuoi (ma comunque inferiore ai 1600x1200), poi abilita la proprietà AutoScroll a True della Form. Salva.

Quando apri questo progetto su un PC con 800x600 nell'IDE dovrebbe comparire in verticale o in orizzontale dentro la finestra la scrollbar che ti permette di vedere il resto dei controlli sulla Form.
Fammi sape.

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

LordS Profilo | Newbie

Provato non cambia nulla continua a fare il cambio delle dimensioni in automatico...
ho provato a dare una occhiata anche nei forum oltre oceano sembra che sia una prerogativa del VS questa "feature" in particolare sembra che la dimensione massima non possa superare

SystemInformation.MaxWindowTrackSize

Forse cè un controllo sulla proprietà Size, ma il problema che sembra che non si possa fare un Override quindi magari se la proprietà Size è maggiore di SystemInformation.MaxWindowTrackSize si adatta di conseguenza.
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