C# 制作较小屏幕分辨率版本的Windows窗体/应用程序的最简单方法?
我已经编写了一个C#windows窗体应用程序,它是为1280x1024屏幕设计的。它完全充满了控制。我需要为1024x600屏幕制作一个“轻”版本,该版本与上网本上使用的代码库相同。我能想到的最简单的方法是#定义设计文件并定义一些变量以在构建时选择并进行多个构建,但我更希望在我的解决方案中有第二个项目继承第一个表单的所有内容,并使用设计器重新排列各种列表框、文本框等,也许做几个标签来保存不太相关的信息。在visual studio 2010中,最简单的方法是什么?这就是属性的用途。您需要为希望调整大小的控件设置它 从MSDN: 使用C# 制作较小屏幕分辨率版本的Windows窗体/应用程序的最简单方法?,c#,visual-studio-2010,screen-resolution,C#,Visual Studio 2010,Screen Resolution,我已经编写了一个C#windows窗体应用程序,它是为1280x1024屏幕设计的。它完全充满了控制。我需要为1024x600屏幕制作一个“轻”版本,该版本与上网本上使用的代码库相同。我能想到的最简单的方法是#定义设计文件并定义一些变量以在构建时选择并进行多个构建,但我更希望在我的解决方案中有第二个项目继承第一个表单的所有内容,并使用设计器重新排列各种列表框、文本框等,也许做几个标签来保存不太相关的信息。在visual studio 2010中,最简单的方法是什么?这就是属性的用途。您需要为希望
Anchor
属性定义控件在调整其父控件大小时如何自动调整大小。将控件锚定到其父控件可确保在调整父控件的大小时,锚定的边相对于父控件的边保持在相同的位置
可以将控件锚定到其容器的一个或多个边缘。例如,如果您有一个带有按钮的表单
,其锚定
属性值设置为顶部
和底部
,随着表单
高度的增加,拉伸按钮
以保持到表单
上下边缘的锚定距离
这就是财产的用途。您需要为希望调整大小的控件设置它
从MSDN:
使用Anchor
属性定义控件在调整其父控件大小时如何自动调整大小。将控件锚定到其父控件可确保在调整父控件的大小时,锚定的边相对于父控件的边保持在相同的位置
可以将控件锚定到其容器的一个或多个边缘。例如,如果您有一个带有按钮的表单
,其锚定
属性值设置为顶部
和底部
,随着表单
高度的增加,拉伸按钮
以保持到表单
上下边缘的锚定距离
对你来说,坏消息是真的没有快速简单的解决方案。当您使用较小的外形(如上网本或平板电脑)时,您需要注意一些特定的用户体验元素,这些元素在这两种环境中无法很好地转换
也就是说,如果您使用所有逻辑创建了一个基本表单,那么您可以为每个屏幕表单因素继承它,并分别设计这两个表单
如果您遵循此路径,则在将事件处理程序连接到设计器中的事件时,Visual Studio中会出现错误-它将不允许您连接到位于父类中的事件处理程序。设计师会崩溃的。要解决此问题,请按如下方式手动连接事件处理程序:
this.MyButton.Click += new System.EventHandler(this.MyClickEventHandler);
祝你好运 对你来说,坏消息是没有快速简单的解决办法。当您使用较小的外形(如上网本或平板电脑)时,您需要注意一些特定的用户体验元素,这些元素在这两种环境中无法很好地转换
也就是说,如果您使用所有逻辑创建了一个基本表单,那么您可以为每个屏幕表单因素继承它,并分别设计这两个表单
如果您遵循此路径,则在将事件处理程序连接到设计器中的事件时,Visual Studio中会出现错误-它将不允许您连接到位于父类中的事件处理程序。设计师会崩溃的。要解决此问题,请按如下方式手动连接事件处理程序:
this.MyButton.Click += new System.EventHandler(this.MyClickEventHandler);
祝你好运 或者您可以制作多个表单,然后使用当前屏幕分辨率显示相应的表单。当然,您可以这样做,但这意味着您在重复代码,违反了DRY原则。最后你需要维护两个表单。@QuanticProgramming-这是我在这个网站上看到的最糟糕的编程想法。是的,这根本不是我想要做的。问题是屏幕上完全充满了控件。我必须去掉一些并缩小一对的大小(即webbrowser和datagridview)@analog123:对于这两个控件,请尝试将锚定
属性设置为所有四个边(左
,右
,上
,下
)。当然,如果其中一个位于左侧,则不会将其锚定到右侧。下面的控件应定位到窗体的底部,而右侧的控件应定位到屏幕的右侧。你可以从中得到一个例子。如果您将这些控件停靠在其左右面板内,垂直拆分容器也可能有用。或者您可以制作多个表单,然后使用当前屏幕分辨率显示相应的表单。当然,您可以这样做,但这意味着您在重复代码,违反了DRY原则。最后你需要维护两个表单。@QuanticProgramming-这是我在这个网站上看到的最糟糕的编程想法。是的,这根本不是我想要做的。问题是屏幕上完全充满了控件。我必须去掉一些并缩小一对的大小(即webbrowser和datagridview)@analog123:对于这两个控件,请尝试将锚定
属性设置为所有四个边(左
,右
,上
,下
)。当然,如果其中一个位于左侧,则不会将其锚定到右侧。控制哪些ar