解決.net繪制的 WinForm 在 windows7下變形的方法。
問題描述:
一個winform的系統(tǒng),我和同事通過vss共同開發(fā),同事的系統(tǒng)是XP,我的系統(tǒng)是windows7,開發(fā)工具都是vs.net2008 sp1。
奇怪的是程序的主界面在同事的機器上正常,在他的vs.net設(shè)計視圖中也顯示正常,而到了我這里有的控件高度比設(shè)定的高度多出1-8個像素,f5運行也和實際效果不一樣比實際效果大,查看 frmBase.designer.cs,里面控件的高度確實是原先設(shè)置的正確高度,但把vs.net切換到設(shè)計視圖,這個控件高度就變大了,從“屬性”窗口中看它的值也變大了。
以前也出現(xiàn)過這種問題,最后在我的機器(windows7)下重新調(diào)整各控件的高度,這才使軟件在xp和windows7下運行的界面大小一致。但最近這個問題有出現(xiàn)了,不知道是怎么回事。
解決方法:
1、將主窗體的 AutoScaleMode 屬性設(shè)置為 None,CTRL+S保存一下,在將其關(guān)閉。
2、打開主窗體的 xxx.designer.cs,找到 InitializeComponent 方法中的倒數(shù)第二行“ this.ResumeLayout(false);”,將其刪除。
3、在打開主窗體,此時的控件大小就是designer.cs設(shè)置的大小。隨便找個控件,用鼠標(biāo)拖動其改變大小,然后在手工把大小設(shè)置為原來的大小。這樣做的目的是讓vs.net更新designer.cs并創(chuàng)建“this.ResumeLayout(false);”。
4、搞定了,界面在xp和windows7上完全一樣。
一個winform的系統(tǒng),我和同事通過vss共同開發(fā),同事的系統(tǒng)是XP,我的系統(tǒng)是windows7,開發(fā)工具都是vs.net2008 sp1。
奇怪的是程序的主界面在同事的機器上正常,在他的vs.net設(shè)計視圖中也顯示正常,而到了我這里有的控件高度比設(shè)定的高度多出1-8個像素,f5運行也和實際效果不一樣比實際效果大,查看 frmBase.designer.cs,里面控件的高度確實是原先設(shè)置的正確高度,但把vs.net切換到設(shè)計視圖,這個控件高度就變大了,從“屬性”窗口中看它的值也變大了。
以前也出現(xiàn)過這種問題,最后在我的機器(windows7)下重新調(diào)整各控件的高度,這才使軟件在xp和windows7下運行的界面大小一致。但最近這個問題有出現(xiàn)了,不知道是怎么回事。
解決方法:
1、將主窗體的 AutoScaleMode 屬性設(shè)置為 None,CTRL+S保存一下,在將其關(guān)閉。
2、打開主窗體的 xxx.designer.cs,找到 InitializeComponent 方法中的倒數(shù)第二行“ this.ResumeLayout(false);”,將其刪除。
3、在打開主窗體,此時的控件大小就是designer.cs設(shè)置的大小。隨便找個控件,用鼠標(biāo)拖動其改變大小,然后在手工把大小設(shè)置為原來的大小。這樣做的目的是讓vs.net更新designer.cs并創(chuàng)建“this.ResumeLayout(false);”。
4、搞定了,界面在xp和windows7上完全一樣。
浙公網(wǎng)安備 33010602011771號