0

我的应用程序有几个控件。就像在一个屏幕中,左侧有 TreeView,中间有分页的 GridView,右侧有 4 个按钮。当表单处于最大化状态时,控件会正确显示,但如果我将其最小化,控件将无法正确显示在屏幕上。

我尝试了不同的技巧,比如表格布局......在我添加了一个面板等......

但我无法解决问题。

如何创建与窗口大小无关的此类屏幕?

谢谢

4

1 回答 1

2

不久前我遇到了同样的问题。在我的情况下,我在一个 GroupBox 中有一个 Button 和一个 ListView,它位于一个 SplitContainer 内,它位于 TabControl 上的一个 UserControl 内。我希望右上角的按钮位于并固定,ListView 占用了剩余的空间,所以我无法停靠它。相反,它被锚定在所有四个地方。

在我的情况下,我的按钮和列表视图在设计器中正常工作并且行为正确,但是在我正在运行的应用程序中,按钮位于右侧最远的位置,并且 ListView 的宽度也太大。

对于第一个错误修复,我做了一些迭代,将设计器中的按钮定位在左侧,检查它的运行模式,根据我上次运行时的印象重新对齐设计器中的按钮。

所以我让它开始工作并重新开始我必须在我的应用程序中做的其他事情。过了一会儿,我收到了一个新功能请求,需要在这个杂乱的东西中添加另一个按钮。这次我在一个新的用户控件上完全重建了 gui 元素,只是为了看看问题是否再次出现。令我惊讶的是,这个 gui 模拟就像预期的那样。

在我的代码中,我没有更改位置、大小、锚点、停靠点等。所以问题必须在InitializeComponents()设计师创建的代码中。

我从两个版本的差异开始,看不出有什么大的差异(有很多差异,但只有像大小、位置或名称这样的未成年人)。所以我开始将我疯狂的用户控件中的代码放入模拟并在我的应用程序中运行模拟。几次复制后,问题也出现在我的模拟中,所以我找到了问题的根本原因。

你怎么看,哪个属性导致了疯狂的行为?
这是我的SplitContainer的最小尺寸

因此,要真正找到问题的根本原因,您应该从一个空的 UserControl(或 Form)重新开始,然后将所有元素放置在其上并具有所需的行为(大小、位置、锚点、停靠)。

而已!

然后测试这个模拟的行为是否符合您的要求,如果不是,请在此处发布此代码并告诉我们您希望看到的内容。

于 2010-04-27T07:58:05.600 回答