Visual studio 2008 Visual Studio 2008 Windows窗体设计器如何兼容QVGA和VGA?

Visual studio 2008 Visual Studio 2008 Windows窗体设计器如何兼容QVGA和VGA?,visual-studio-2008,windows-mobile,compact-framework,windows-forms-designer,vga,Visual Studio 2008,Windows Mobile,Compact Framework,Windows Forms Designer,Vga,在Visual Studio 2008中,当使用智能设备项目时,如果我使用窗口窗体设计器向窗体添加控件,则无论设备是否具有QVGA或VGA屏幕,当程序实际运行时,控件都将显示在正确的位置。但是,如果我在代码中手动添加控件而不使用设计器,那么我需要在运行时让代码检查设备是否具有VGA屏幕或QVGA屏幕。如果是VGA屏幕,我必须将手动添加的每个控件的x、y、宽度和高度乘以2。为什么只有在不使用设计器的情况下添加控件才需要这样做 我刚刚在第一个答案下面添加了一条注释。由于designer.cs中的以下

在Visual Studio 2008中,当使用智能设备项目时,如果我使用窗口窗体设计器向窗体添加控件,则无论设备是否具有QVGA或VGA屏幕,当程序实际运行时,控件都将显示在正确的位置。但是,如果我在代码中手动添加控件而不使用设计器,那么我需要在运行时让代码检查设备是否具有VGA屏幕或QVGA屏幕。如果是VGA屏幕,我必须将手动添加的每个控件的x、y、宽度和高度乘以2。为什么只有在不使用设计器的情况下添加控件才需要这样做


我刚刚在第一个答案下面添加了一条注释。

由于designer.cs中的以下属性,在设计时添加的控件在首次绘制时会自动缩放:

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

当您在运行时动态添加控件时,您需要执行自己的缩放。这并不理想,但就是它的工作方式。

我还是不明白。设计器添加的控件也在运行时动态添加,它只是生成的代码。当您同时添加了设计器控件和手动添加控件时,这尤其令人困惑,因为您在此处发布的代码仍然存在。