我想创建一个使用制表符控件显示多个listview控件的UI,每个标签页上都有一个。标签页/列表视图的数量是动态的,可以达到20左右。列表视图处于虚拟模式,并从内存中的对象(自定义类)填充。
创建20个列表视图似乎非常浪费。我似乎记得在VB4时代,标签控件只有一页,你自己在代码中更改了显示。有没有办法与VB.net(VS2008 / Framework 2.0)做类似的事情,即只显示一个列表视图,并根据用户点击哪个选项卡重新填充它?像这样:
Private Sub Tab_Click
listview.load(MyObject(TabClickedIndex))
End Sub
感谢您的任何建议。
答案 0 :(得分:0)
在选择标签页之前,实际上并未创建标签页上的控件,因此除非用户想要查看该列表,否则它将不会使用资源。
如果用户想要查看所有标签页上的所有列表,那么他可能想要在它们之间来回移动,所以我认为只显示已经加载的列表要快于清除它然后重新填充它。
如果每个列表只能有一组数据,而不是尝试将多达20种不同类型的列表压缩成一个,我也会认为代码会更清晰。
总而言之,除非你已经测量出某种性能问题,否则每个标签页都会有一个列表视图。