我正在.NET Compact Framework 中开发一个表单,它承载了可变数量的控件。每个控件都应与窗体具有相同的宽度。只有几个控件时,不会出现垂直滚动条。当控件的数量超出一个表单的容量时,会出现一个垂直滚动条。然后应该修改控件的宽度,以便不会出现水平滚动条。
实现这一目标的最佳方法是什么?我对适用于所有平台/屏幕尺寸并且可以支持屏幕方向更改的解决方案感兴趣。
我正在.NET Compact Framework 中开发一个表单,它承载了可变数量的控件。每个控件都应与窗体具有相同的宽度。只有几个控件时,不会出现垂直滚动条。当控件的数量超出一个表单的容量时,会出现一个垂直滚动条。然后应该修改控件的宽度,以便不会出现水平滚动条。
实现这一目标的最佳方法是什么?我对适用于所有平台/屏幕尺寸并且可以支持屏幕方向更改的解决方案感兴趣。
如果我做对了,在某一时刻,垂直和水平滚动条都会出现,而你只想要垂直滚动条?将每个控件的 Anchor 设置为“Top|Left|Right”不会自动解决这个问题吗?
如果每个控件都与窗体的宽度相同,为什么不将每个控件停靠到顶部(或底部)?然后它会为你调整大小。然而,它可能看起来不是很吸引人,所以我建议添加一些空面板(以相同的方式停靠)用作垂直垫片。
我做了一些快速测试,看起来,当您添加控件时,当添加的控件触发 scollbars 以使其可见时,面板会引发 resize 事件。烦人的部分是在启动期间触发了几次调整大小事件:(但是知道紧凑的框架,这可能是您处理此问题的最佳方法。
通常,如果 DisplayRectangle 大于面板的大小,则可以在完整框架上使用,但 cf 中不存在这样的东西。
希望这对您有所帮助,我会看看早上是否能找到更多东西。