9 个解决方案
#1
应该没有相应的这样的属性,不过你可以通过ListView.GetItemRect 方法及ListView的ClientRectangle来自己计算在可见区能最多显示多少个元素.
#2
在任何时候,ListView 控件中的可见项的数目都取决于列表视图的高度和其中包含的项的大小。如果项超出了列表视图的高度,将在多个页中继续显示这些项,用户可以通过滚动页面查看这些项。如果将 TopItem 属性设为 ListView 的最后一页中的某个项,则该项会自动滚动到视图中;但是,TopItem 将被设置为最后一页上实际的*项。
#3
listView1.GridLines = true;
listView1.FullRowSelect = true;
listView1.View = View.Details;
listView1.Scrollable = true;
listView1.MultiSelect = false;
listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
listView1.FullRowSelect = true;
listView1.View = View.Details;
listView1.Scrollable = true;
listView1.MultiSelect = false;
listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
#4
在MFC中这个函数实际上是如下的实现,你当然可以按着如下的实现来调用系统的API来得到这个值:
(int)SendMessage(m_hWnd, LVM_GETCOUNTPERPAGE, 0, 0)
//C#:public const int LVM_GETCOUNTPERPAGE = 0x1028;
(int)SendMessage(m_hWnd, LVM_GETCOUNTPERPAGE, 0, 0)
//C#:public const int LVM_GETCOUNTPERPAGE = 0x1028;
#5
to:hbxtlhx(平民百姓)
我是想在初始化时得到这个值。ListView.GetItemRect(index)返回值是零。
我是想在初始化时得到这个值。ListView.GetItemRect(index)返回值是零。
#6
用API可以实现得到的值是17。这个值会改变吗?
#7
ListView.GetItemRect(index)返回值是零。
----------
可能吗?
在有你在初始化时设置,一是窗体没有显示出来,二是显示出来后的大小也可能会发生变化.
----------
可能吗?
在有你在初始化时设置,一是窗体没有显示出来,二是显示出来后的大小也可能会发生变化.
#8
如果你的ListView大小会改变那么这个值当然也是会改变的.
#9
谢谢。用API解决。
#1
应该没有相应的这样的属性,不过你可以通过ListView.GetItemRect 方法及ListView的ClientRectangle来自己计算在可见区能最多显示多少个元素.
#2
在任何时候,ListView 控件中的可见项的数目都取决于列表视图的高度和其中包含的项的大小。如果项超出了列表视图的高度,将在多个页中继续显示这些项,用户可以通过滚动页面查看这些项。如果将 TopItem 属性设为 ListView 的最后一页中的某个项,则该项会自动滚动到视图中;但是,TopItem 将被设置为最后一页上实际的*项。
#3
listView1.GridLines = true;
listView1.FullRowSelect = true;
listView1.View = View.Details;
listView1.Scrollable = true;
listView1.MultiSelect = false;
listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
listView1.FullRowSelect = true;
listView1.View = View.Details;
listView1.Scrollable = true;
listView1.MultiSelect = false;
listView1.HeaderStyle = ColumnHeaderStyle.Nonclickable;
#4
在MFC中这个函数实际上是如下的实现,你当然可以按着如下的实现来调用系统的API来得到这个值:
(int)SendMessage(m_hWnd, LVM_GETCOUNTPERPAGE, 0, 0)
//C#:public const int LVM_GETCOUNTPERPAGE = 0x1028;
(int)SendMessage(m_hWnd, LVM_GETCOUNTPERPAGE, 0, 0)
//C#:public const int LVM_GETCOUNTPERPAGE = 0x1028;
#5
to:hbxtlhx(平民百姓)
我是想在初始化时得到这个值。ListView.GetItemRect(index)返回值是零。
我是想在初始化时得到这个值。ListView.GetItemRect(index)返回值是零。
#6
用API可以实现得到的值是17。这个值会改变吗?
#7
ListView.GetItemRect(index)返回值是零。
----------
可能吗?
在有你在初始化时设置,一是窗体没有显示出来,二是显示出来后的大小也可能会发生变化.
----------
可能吗?
在有你在初始化时设置,一是窗体没有显示出来,二是显示出来后的大小也可能会发生变化.
#8
如果你的ListView大小会改变那么这个值当然也是会改变的.
#9
谢谢。用API解决。