确定卸下垂直滚动条所需的列表框的高度



说我有一个 ListBox控件具有ID myList,我添加了50个项目。垂直滚动条不可避免地显示在控件的右侧。两个相关问题:

  1. 如何确定在运行时确定将myList.Height设置为什么值这样就不会显示卷轴?

  2. 我如何确定一排需要(带填充)的高度?

如果更改字体(用于国际化),则myList.ClientSize.Height的值会更改,因此当加载表单时,这需要动态。

注意:如果您想知道"为什么要删除滚动栏?",我打算通过将ListBox放置在父控件上并修改myList.Top来分别处理滚动,并响应单击上/down按钮。

尝试以下C#listView禁用水平滚动

对于紧凑型框架,必须将其更改为

[DllImport ("coredll")]
private static extern long ShowScrollBar (long hwnd , long wBar, long bShow);
long SB_HORZ = 0;
long SB_VERT = 1;
long SB_BOTH = 3;
private void HideHorizontalScrollBar ()
{
    ShowScrollBar(listView1.Handle.ToInt64(), SB_HORZ, 0);
}
private void HideScrollBars ()
{
    ShowScrollBar(listView1.Handle.ToInt64(), SB_BOTH, 0);
}

还有另一个解决方案,即如何将垂直滚动条隐藏在.net ListView控件中,以详细信息模式,再次:由Coredll替换为紧凑型框架/Windows Mobile 6.x 6.x

最新更新