0

在Visual Studio 2008中,當使用智能設備項目時,如果使用窗體設計器將控件添加到窗體,那麼當程序實際運行時控件將顯示在正確的位置,無論設備是否具有QVGA或VGA屏幕。但是,如果我在不使用Designer的情況下手動向代碼中添加控件,那麼我需要在運行時檢查代碼,看設備是否具有VGA屏幕或QVGA屏幕。如果它是一個VGA屏幕,我必須將手動添加的每個控件的x,y,寬度和高度乘以2。爲什麼只有在不使用設計者的情況下添加控件纔是必要的?Visual Studio 2008 Windows窗體設計器如何兼容QVGA和VGA?

我剛剛在第一個答案下面添加了一條評論。先繪製時被在設計時添加

回答

1

控制的自動定,由於designer.cs這些屬性:

this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); 
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; 

當你在運行時動態添加控件,您需要執行自己的縮放。它並不理想,但它只是它的工作方式。

+0

我還是不明白。設計者添加的控件也在運行時動態添加,它只是生成的代碼。當你同時添加了設計器添加的控件和控件時,這是特別令人困惑的,因爲你在這裏發佈的代碼仍然存在。 – 2011-01-13 00:48:49

相關問題