Windows Form C# 表單 控制項 錯亂 -- AutoScaleBaseSize

之前在一個案子,在遠端開發的時候開啟FormMain.cs都沒問題,但只要在我的NB上開啟,上面的控制項位置就會錯亂,我一直以為是因為我NB上面使用的是125%的放大。

今天特地把NB重設為100%的字型,還是遇到問題。

問題就是在.Designer.cs裡面設定 control.location = (100,200),接著雙擊.cs之後,Visual Studio 2010 就會自動幫我把座標改為(100,180) 之類的。

好笑的是,如果我同時開啟.Designer.cs跟.cs。接著我貼上正確的座標程式碼到 .Designer.cs 之後,再切換到.cs那個頁籤,畫面會先變對,然後又立刻被改錯了。

我想應該是跟Form的自動縮放有關係,有兩個 AutoScaleMode 跟 AutoSizeMode。於是切到

// FormMain
下面加上這兩行          

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowOnly;

重來一次,還是失敗。看到第一行是

this.AutoScaleBaseSize = new System.Drawing.Size(5, 15);

不知道是甚麼意思?於是我把他comment掉,接著再開啟一次.cs。嘿嘿,成功了~

留言

這個網誌中的熱門文章

好貴的東元冷氣維修--馬達啟動電容

台大醫院 婁培人 耳鼻喉科 就診

機車無法充電之整流器壞掉--$650