buaa21 / summer2020

软件学院《程序设计实践》2020小学期仓库
40 stars 8 forks source link

c#根据用户兴趣推送不同内容的问题 #207

Closed lxybh05 closed 3 years ago

lxybh05 commented 3 years ago

请问如何通过改变c# winform 中checkedlistbox中的勾选状态来改变页面的内容 例如通过客户选择checkedlistbox中兴趣爱好来为他们推送不同的内容,并且内容能够从上到下依次显示

crclz commented 3 years ago

image 可以用ItemCheck事件

lxybh05 commented 3 years ago

请问如何将一块内容在某一选项选中的时候显示,未选中的时候屏蔽但是不留空白,能让选中的内容从上到下不留空位置的显示出来

crclz commented 3 years ago

请问如何将一块内容在某一选项选中的时候显示,未选中的时候屏蔽但是不留空白,能让选中的内容从上到下不留空位置的显示出来

写一个函数updateDisplayList,这个函数根据checklist的状态来计算出需要展示哪些项目,然后在每一次ItemCheck事件的时候,调用这个函数。

lxybh05 commented 3 years ago

可不可以麻烦函数内部给一些提示啊,对于空白的处理我还是不太理解 (每次调用完都有空白部分,就是不该显示的只是内容不显示但是位置不变显示一片空白)

crclz commented 3 years ago

假设这是一个电影搜索程序,用户通过勾选不同的电影类别,来搜索电影。假设你要显示的是一个电影列表,用的控件是listview。

updateDisplayList函数里面,你首先获取用户勾选的项目(这里假如用户勾选了 悬疑、科幻 )

那么,第二步就是,创建一个List,然后将悬疑、科幻类的电影加入到这个list中。

最后,将原先的listview中的数据清空,然后把刚刚的list中的数据加入listview。