我编写了一个专为1280x1024屏幕设计的C#窗体应用程序。它完全充满了控制。我需要为1024x600屏幕制作一个“轻”版本,该版本使用相同的代码库,以便在上网本上使用。我能想到的最简单的方法是#ifdef设计文件并定义一些变量来选择构建时间和时间。制作多个版本,但我希望在我的解决方案中有第二个项目,它继承了第一个表单中的所有内容,并使用设计器重新排列各种列表框,文本框等,也许可以制作几个标签以保持较少的相关性信息。在visual studio 2010中最简单的方法是什么?
答案 0 :(得分:3)
这就是Control.Anchor
属性的用途。您需要为希望调整大小的控件设置它。
来自MSDN:
使用
Anchor
属性定义控件在调整父控件大小时自动调整大小的方式。将控件锚定到其父控件可确保在调整父控件时,锚定边缘相对于父控件的边缘保持在相同位置。您可以将控件锚定到其容器的一个或多个边缘。例如,如果您的
Form
Button
Anchor
属性值设置为Top
和Bottom
,那么Button
就会延长在Form
的{{1}}增加时,保持与Height
的顶部和底部边缘的固定距离。
答案 1 :(得分:1)
对你来说,坏消息是没有快速简便的解决方案。当您使用较小的外形尺寸(如上网本或平板电脑)时,您需要注意的特定用户体验元素在两种环境之间无法很好地转换。
话虽如此,如果您创建一个包含所有逻辑的基本表单,您可以为每个屏幕外形继承它,并分别设计两个表单。
如果您遵循此路径,则在将事件处理程序连接到设计器中的事件时,Visual Studio中存在错误 - 它将不允许您连接到位于父类中的事件处理程序。设计师会崩溃。要解决此问题,请按如下方式手动连接事件处理程序:
this.MyButton.Click += new System.EventHandler(this.MyClickEventHandler);
祝你好运!