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