2012-11-29 16 views
5

Utilizzo di VisualStudio 2010 SP1 C#, .Net4.0, Visual Source Safe, Windows7Perché la dimensione dell'etichetta cambia nel file di risorse?

Sto lavorando allo stesso progetto con un collega in Austria, attualmente sono in Svizzera. Quando faccio clic su un modulo in VisualStudio creato dal mio collega, il file .resx viene immediatamente modificato. Tutte le dimensioni dell'etichetta nel file sono alcune di come vengono modificate automaticamente. Tutti i controlli nel modulo vengono quindi spostati nell'angolo sinistro del modulo. Questo mi rende impossibile modificare qualsiasi sua forma.

Potrebbe avere qualcosa a che fare con la localizzazione della lingua? Un'impostazione hiden da qualche parte in VisualStudio, che tenta automaticamente di regolare le dimensioni delle etichette?

Forse una configurazione .Net o qualche altra configurazione di Windows?

+1

Probabilmente ha qualcosa a che fare con le impostazioni del tuo (o dei suoi) caratteri (o DPI), non in VS ma a livello di SO. – VoidMain

+0

Grazie per la risposta molto veloce e corretta! Il mio collega aveva le dimensioni del monitor con il piccolo standard al 100%, il mio era impostato su Grande 150%. Ma strano che VisualStudio tenti di cambiare automaticamente il file resx per compensare questo, ed i risultati delle modifiche non sono utilizzabili. –

risposta

6

Questo è a causa di un incarico generato automaticamente nel file di Designer.cs del form, sarebbe un aspetto simile a questo:

this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 

Quando il vostro collega di lavoro crea un modulo, i valori qui sono diversi. Questo perché esegue la scheda video nella sua macchina con una risoluzione diversa, l'impostazione dei punti per pollice non corrisponde alla tua. Un'impostazione molto comune è 96 dpi. Ma i sistemi operativi come Vista e Up rendono molto facile cambiare questa impostazione, sembra un righello. Con arresti comuni al 125% (120 dpi) e 150% (144 dpi).

modifica di questa impostazione rende più facile la lettura del testo, un programma userà un font più grande (misurato in punti , 1 punto = 1/72 di pollice) su una scheda video con un'impostazione DPI superiore. Ma ciò richiede anche controlli come Label e TextBox per ingrandirsi in pixel per adattarsi ancora al testo. Che viene fatto automaticamente, ecco perché vedi la modifica del file .resx del modulo se hai abilitato la localizzazione.

Questo è un modo eccellente per garantire che il tuo disegno risulti ancora bello su macchine con un'altra impostazione dpi. Ma può essere un po 'pita quando stai progettando tra voi due. Nessuna vera soluzione per questo, oltre a concordare un'impostazione dpi.

+0

Grazie per l'ottima risposta approfondita! –

0

Era la configurazione del montior. Il collaboratore è stato impostato allo standard del 100% e il mio è stato impostato su Grande 150%.

Problemi correlati