如何使用 C# 设置列表框的高度以匹配其中的元素数量?

Posted

技术标签:

【中文标题】如何使用 C# 设置列表框的高度以匹配其中的元素数量?【英文标题】:How to set height of a list box to match the number of elements in it using C#? 【发布时间】:2021-03-23 13:11:41 【问题描述】:

我正在使用 C# 创建桌面应用程序,我想根据其中的元素数量设置列表框的高度。比如下图,

我在列表中有四个元素,它应该同时显示所有四个,但它只显示两个。我想根据其中的元素数量随机更改高度。任何人都可以帮助我吗?

【问题讨论】:

这是一个简单的文本框,我将它与列表框一起使用 是的,它是 WinForm Olivier Rogier 的回答是对的。如果您使用的是code I provided earlier。您可以使用以下代码在构造函数中设置列表框的 ItemHeight。 listBox.ItemHeight = comboBox1.ItemHeight; 【参考方案1】:

你可以写:

listBox1.Height = listBox1.ItemHeight * (listBox1.Items.Count + 1);

您还可以设置保护表单的最大限制:

int count = listBox1.Items.Count + 1;
if ( count > 20 ) count = 20;
listBox1.Height = listBox1.ItemHeight * count;

您也可以使用最大高度或任何其他检查来代替项目计数:

int height = listBox1.ItemHeight * count;
if ( height > 300 ) height = 300; 
listBox1.Height = height;

ItemHeight 取决于字体大小。

【讨论】:

以上是关于如何使用 C# 设置列表框的高度以匹配其中的元素数量?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置元素的高度以匹配另一个元素的高度?

如何将宽度和高度大小与 Regex 表达式匹配并在 SQL 或 C# 中使用 Sort By 来构建下拉列表?

C#如何设置combobox下拉框的内容

使用jquery动态添加表格的行之后,如何获取表格高度?

如何设置 FrameLayout 高度以匹配子组件之一

如何改进 Python 中列表的模式匹配