.NET CF中的自动调整大小以避免水平滚动?

时间:2009-01-29 21:43:36

标签: winforms windows-mobile compact-framework scrollbar

我正在.NET Compact Framework中开发一个表单,它包含可变数量的控件。每个控件的宽度应与表单的宽度相同。当只有几个控件时,不会出现垂直滚动条。当控件多于一个表单中的控件时,会出现一个垂直滚动条。然后应修改控件的宽度,以便不显示水平滚动条。

实现这一目标的最佳方法是什么?我感兴趣的是一个适用于所有平台/屏幕尺寸并且可以支持屏幕方向更改的解决方案。

3 个答案:

答案 0 :(得分:2)

如果我说得对,在某一点上,会出现垂直和水平滚动条,而您只想要垂直滚动条?不将每个控件的Anchor设置为“Top | Left | Right”会自动解决这个问题吗?

答案 1 :(得分:1)

如果每个控件的宽度与表单的宽度相同,为什么不将每个控件都停靠在Top(或Bottom)?那么它会照顾你的大小。然而,它可能看起来不太吸引人,所以我建议添加一些空面板(以相同的方式停靠)以用作垂直隔板。

答案 2 :(得分:0)

我做了一些快速测试,看起来,当你添加控件时,当添加的控件触发scollbars可见时,面板会引发resize事件。令人讨厌的部分是在启动期间触发调整大小事件几次:( 但是要知道紧凑的框架,这可能是你处理这个问题的最好方法。

通常在完整框架上,如果DisplayRectangle大于面板的大小,但cf上不存在这样的东西。

希望这有一些帮助,我会看看我早上能不能找到更多。