ListView控件设计
要用C#写一个和Windows ListView一样的控件。(但是和ListView显示和滚动条控制上有些不同)
ListView控件的功能实现比较复杂,因此要做个比较完善的设计,初步的想法是抽象一个ListViewLayout抽象类,并实现flow layout, one line layout和one column layout 三种布局方式,这样再加上每个item可以实现几种显示方式(图标+下方文字、图标+右方文字、只有图标、只有文字),这样组合起来应该可以覆盖ListView现有的几种ViewMode.
现在的问题是有了显示还不够,还有鼠标的Hittest, 键盘的处理这些应该怎么设计比较好呢?
大家有什么好方法吗?先谢过了!