制作Windows窗体/应用程序的较小屏幕分辨率版本的最简单方法?

时间:2012-08-31 17:46:31

标签: c# visual-studio-2010 screen-resolution

我编写了一个专为1280x1024屏幕设计的C#窗体应用程序。它完全充满了控制。我需要为1024x600屏幕制作一个“轻”版本,该版本使用相同的代码库,以便在上网本上使用。我能想到的最简单的方法是#ifdef设计文件并定义一些变量来选择构建时间和时间。制作多个版本,但我希望在我的解决方案中有第二个项目,它继承了第一个表单中的所有内容,并使用设计器重新排列各种列表框,文本框等,也许可以制作几个标签以保持较少的相关性信息。在visual studio 2010中最简单的方法是什么?

2 个答案:

答案 0 :(得分:3)

这就是Control.Anchor属性的用途。您需要为希望调整大小的控件设置它。

来自MSDN:

  

使用Anchor属性定义控件在调整父控件大小时自动调整大小的方式。将控件锚定到其父控件可确保在调整父控件时,锚定边缘相对于父控件的边缘保持在相同位置。

     

您可以将控件锚定到其容器的一个或多个边缘。例如,如果您的Form Button Anchor属性值设置为TopBottom,那么Button就会延长在Form的{​​{1}}增加时,保持与Height的顶部和底部边缘的固定距离。

答案 1 :(得分:1)

对你来说,坏消息是没有快速简便的解决方案。当您使用较小的外形尺寸(如上网本或平板电脑)时,您需要注意的特定用户体验元素在两种环境之间无法很好地转换。

话虽如此,如果您创建一个包含所有逻辑的基本表单,您可以为每个屏幕外形继承它,并分别设计两个表单。

如果您遵循此路径,则在将事件处理程序连接到设计器中的事件时,Visual Studio中存在错误 - 它将不允许您连接到位于父类中的事件处理程序。设计师会崩溃。要解决此问题,请按如下方式手动连接事件处理程序:

    this.MyButton.Click += new System.EventHandler(this.MyClickEventHandler);
祝你好运!