2012-11-29 45 views
5

使用VisualStudio 2010 SP1 C#,.Net4.0,Visual Source Safe,Windows7爲什麼標籤大小在資源文件中發生變化?

我正在與奧地利的同事一起工作,我目前在瑞士。 當我單擊我的同事創建的VisualStudio中的表單時,即會修改.resx文件。文件中的所有標籤大小都是自動修改的。表單中的所有控件隨即被推入表單的左側角落。這使我無法編輯他的任何表格。

這可能與語言本地化有關嗎? VisualStudio中的某個設置會自動嘗試調整標籤大小?

也許.Net配置或其他窗口配置?

+1

可能與你的(或他的)字體設置(或DPI)有關,不是在VS中,而是在操作系統級別。 – VoidMain

+0

感謝您的快速和正確的答案! 我的同事有他的顯示器尺寸與標準的小100%, 礦被設置爲150%大。 但奇怪的是,VisualStudio嘗試自動更改resx文件以彌補這一點,並且更改的結果不可用。 –

回答

6

這是因爲在窗體的Designer.cs文件自動生成的分配,它看起來與此類似:

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

當你的同事創建了一個形式,這裏的值是不同的。這是因爲他以不同的分辨率在他的機器中運行視頻適配器,每英寸點數與您的設置不匹配。一個非常常見的設置是96 dpi。但是像Vista這樣的操作系統可以很容易地改變這個設置,它看起來像一把尺子。常見的125%(120 dpi)和150%(144 dpi)停止。

更改此設置可以更容易地閱讀文本,程序將使用更高DPI設置的視頻適配器上的較大字體(在點處測量,點數爲,1點= 1/72英寸)。但是,這也需要諸如Label和TextBox之類的控件以像素爲單位更大以適應文本。這是自動完成的,這就是爲什麼如果您啓用本地化,您會看到表單的.resx文件更改。

這是確保您的設計在具有其他dpi設置的機器上看起來仍然很好的絕佳方式。但是當你在你們兩個人之間進行設計時,它可能有點皮塔餅。沒有真正的解決辦法,除了同意dpi設置。

+0

非常感謝您的深入解答! –

0

這是montior配置。 同事定爲100%標準,而我的定爲150%。

相關問題