3

我是.NetCompact Framework 的新手,无法通过 Google 找到答案。喘气!是的,这是真的,但这就是 StackOverflow 在这里的部分原因,对吧?

我有一个比屏幕长的表单,所以会按预期出现一个垂直滚动条。但是,这似乎也迫使水平滚动条出现。(如果我向右滚动,除了空白之外什么都看不见……大约是滚动条的大小。)

这是一个无法避免的“特征”吗?有人有这方面的经验吗?

4

3 回答 3

2

将控件放置在面板或等效面板中,然后将面板的宽度减小垂直滚动条的大小。这意味着当垂直滚动条出现时,它将不再需要水平滚动条来弥补垂直滚动条所占用的宽度。

于 2008-08-28T19:23:12.753 回答
2

您需要在控件上使用 Anchor 属性。
使控件锚定到顶部、左侧和右侧。

当表单需要垂直滚动条时,控件将调整大小而不是使用水平滚动条。

此外,您可能会发现将所有控件放入面板更容易。使面板成为您添加到表单的第一个控件。
使面板与表格一样大,或者低于表格底部是您需要更多空间。
将锚点设置为上、左、右。将自动滚动设置为 true。在窗体上关闭自动滚动。

现在将控件放入面板中。您仍然需要在每个控件上设置锚点,否则您的 Panel 控件将使用水平滚动条并使整个练习变得毫无意义。
当您需要使用 SIP(​​软输入面板)时,这是一种很好的技术,因为当 SIP.Enabled 属性更改并防止某些控件被 SIP 隐藏时,可以更改 Panels Height 属性 - 不得不编写很烦人您看不到的文本框中的文本。
面板将根据需要提供滚动条。

我想说将所有控件放在表单上的面板中是个好主意,因为如果以后需要 SIP,以后添加它可能会很麻烦。

于 2008-10-26T02:06:13.130 回答
0

是的 - 我有这方面的经验 - 不幸的是,它与你自己的没有什么不同。我通常避免滚动表单,并尽可能在 .Net CF 上使用分页。如果这是您的选择,我会推荐它。

我假设滚动条问题与将表单大小固定为可用屏幕的宽度(无论设计时设置如何)有关,因此垂直滚动条的引入掩盖了(不需要)完整的部分 -宽度形式。

于 2008-08-28T06:27:24.927 回答