如何在c# 4.0中在任何屏幕分辨率下有效地运行或调整Windows应用程序
本文关键字:运行 有效地 调整 应用程序 Windows 分辨率 屏幕 任何 | 更新日期: 2023-09-27 17:52:34
如何在c# 4.0的任何屏幕分辨率下有效地运行或调整Windows应用程序?
我已经设置了1600 x 1200的分辨率,但是如果我尝试在较低的分辨率下,只有部分表单是可见的。
如何解决这个问题?我搜索了很多,了解了Anchor &Dock将是有用的,但也要知道这些应该从设计开始就使用,但我已经完成了我的应用程序,而这个解决方案现在导致问题,当我在任何系统中安装应用程序
确保控件保持可见的快速而肮脏的方法是在表单上放置一个Panel
,设置Dock = Fill
和AutoScroll = True
,然后在表单中放置其他控件。你的控制不会被切断,但你的程序不会赢得任何美学奖项。如果程序是全新的,那么你真的不应该这样开始。
你可以重新设计它来使用锚和停靠,正如你提到的。您还可以将诸如一行Button
控件或一系列TextBox
控件等项目放置在FlowLayoutPanel
中,这将在您调整窗体大小时重新定位它们。
但是如果调整屏幕分辨率对你来说很重要,那么从一开始就使用WPF
是一个更好的方法。控件会根据其容器控件自动调整大小和重新定位。
真正的问题应该是:
- 我如何希望控件调整自己与他们的父?
答案是您需要指定锚。锚是用来告诉你的控件在调整大小时应该如何反应,以及应该关注什么。
假设你有一个表单有两个[Cancel]
和[OK]
按钮。它们通常被认为适合放在窗口的右下角。但是默认的Anchor
属性被设置为Top, Left
,所以在你的窗体的大小调整,他们坚持到Top, Left
角,他们属于根据默认设置。如果你最大化你的表单,这不会有任何麻烦,因此你将有你的按钮可能在屏幕中间。但至少,您将充分看到每个控件。
但是如果把你的表单调整得越来越小呢?你还希望他们坚持在Top, Left
,或Bottom, Right
将更有用?我的猜测是,您应该将Anchor
属性设置为Bottom, Right
,对于这两个。
这可能会派上用场,有不同的Anchor
属性设置取决于你想要你的控件如何反应你的窗体调整大小。让我们取三个相互水平对齐的TextBox
控件。也许您的较长的字段将是您的对象Description
属性,位于窗体的水平中心。然后,当您调整大小时,您必须考虑如何调整大小更有意义。如果它是为了使它更长的调整大小,以填补你的所有控件的窗体宽度,那么也许你想要的DescriptionTextBox
变得越来越宽,而相反的情况也应该是真的,在窗体的调整大小,你可能希望这个字段被调整小了。然后,为了实现这一点,您必须将Anchor
属性设置为Left, Right
,以便您的DescriptionTextBox
控件的边缘在任何时候都保持与窗体边缘相同的距离。
另一件事是关注的情况下,调整大小较小的窗口,是它的MinimumSize
属性。人们应该同意有一个尺寸为34x34像素的表单是有用处的。因此,将您的MinimumSize
属性设置为一定的大小,使表单存在意义,您将避免控件相互重叠的显示故障。
有关Anchor
属性的更多详细信息:Control。锚地产
有关MinimumSize
属性的更多详细信息:Control。MinimumSize地产