Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ListView自动调整大小以显示所有项目_C#_Winforms_Listview - Fatal编程技术网

C# ListView自动调整大小以显示所有项目

C# ListView自动调整大小以显示所有项目,c#,winforms,listview,C#,Winforms,Listview,我要创建的是一个列表视图,它将调整自身大小以显示所有项目。通常我会使用AutoSize,但这在这里不起作用。任何其他选项如何使ListView展开和收缩以适应所有项目?您必须手动计算所需高度,并在添加/删除项目时进行设置 不直接支持检测项的添加或删除,因此您需要创建自己的添加/删除项调用以供客户端调用,或者处理来自WndProc的LVN_插入项类型的消息 自动大小控制通常使用起来比较复杂,因为您必须跟踪最小/最大大小,为所有者留出空间,并且通常会为用户增加一个尴尬的可用性点。只有在典型解决方案(

我要创建的是一个列表视图,它将调整自身大小以显示所有项目。通常我会使用AutoSize,但这在这里不起作用。任何其他选项如何使ListView展开和收缩以适应所有项目?

您必须手动计算所需高度,并在添加/删除项目时进行设置

不直接支持检测项的添加或删除,因此您需要创建自己的添加/删除项调用以供客户端调用,或者处理来自WndProc的LVN_插入项类型的消息


自动大小控制通常使用起来比较复杂,因为您必须跟踪最小/最大大小,为所有者留出空间,并且通常会为用户增加一个尴尬的可用性点。只有在典型解决方案(即滚动条)确实无法满足您的需要时,才执行类似操作。

对于“ListView”控件,“AutoSize”属性不受支持。正如@JohnArien所提到的,您必须根据可用项的数量以编程方式重新调整列表视图控件的大小。但请注意,就形式的视觉吸引力而言,这可能不是一个好主意。如果在运行时更改大小,则表单设计可能看起来很难看。更多这些类型的控件将在滚动条的帮助下在给定的大小内扩展其客户端区域。我强烈建议您重新考虑此选项。

很难做到,尤其是对于View=Details,因为无法轻松确定列标题的高度。让用户根据自己的喜好调整表单的大小,确保列表视图的大小与用户一样。请参见