1,鼠标事件只要点击到listview控件就会触发,操作事件中的鼠标相关事件只有点击到具体的列表项时才回触发

2,有时需要根据鼠标操作的位置来获取列表项的信息,这时用listview.GetItemAt(x,y)很方便。感觉从指定点获取相关对象的技术挺强悍的,HtmlDocument也有个类似的方法GetElementFromPoint(p)。

3,有时需要判断一个选中的项所包围的矩形框是否有一些特定的对象,这时用listview.GetItemRect(index),treeview的更方便treeview.selectednode.bounds直接可以获取到。

4,点击listview的标题列实现排序,要为listview.listviewitemsorter赋值,其类型为IComparer,所以要单独写一个类实现IComparer接口即可。

(1)写类实现接口

public class MySorter : IComparer
        {
            private int mSortColumn;
            private SortOrder mSortOrder;

public int SortColumn
            {
                get { return mSortColumn; }
                set { mSortColumn = value >= 0 ? value : mSortColumn; }
            }

public SortOrder Order
            {
                get { return mSortOrder; }
                set { mSortOrder = value; }
            }

public MySorter()
            {
                mSortColumn = 0;
                mSortOrder = SortOrder.None;
            }

public int Compare(object pX, object pY)
            {
                ListViewItem sItem1, sItem2;
                sItem1 = (ListViewItem)pX;
                sItem2 = (ListViewItem)pY;

switch (mSortOrder)
                {
                    case SortOrder.Ascending:
                        return sItem1.SubItems[mSortColumn].Text.CompareTo(sItem2.SubItems[mSortColumn].Text);

case SortOrder.Descending:
                        return -sItem1.SubItems[mSortColumn].Text.CompareTo(sItem2.SubItems[mSortColumn].Text);
                }
                return 0;
            }
        }

(2)调用

private void listView_ColumnClick(object sender, ColumnClickEventArgs e)
        {
            if (e.Column == (listView.ListViewItemSorter as MySorter).SortColumn)
            {
                if ((listView.ListViewItemSorter as MySorter).Order == SortOrder.Ascending)
                    (listView.ListViewItemSorter as MySorter).Order = SortOrder.Descending;
                else
                    (listView.ListViewItemSorter as MySorter).Order = SortOrder.Ascending;
            }
            else
            {
                (listView.ListViewItemSorter as MySorter).Order = SortOrder.Ascending;
                (listView.ListViewItemSorter as MySorter).SortColumn = e.Column;
            }
            listView.Sort();
        }

ListView若干点相关推荐

  1. Android ListView 点击item改变item的背景颜色(ListView实现光标移动)

    一下demo 地址 实现的效果图如下 ListView 光标移动,实现很是简单,这里是指item背景的改变 使用 listSelector listSelector  用户指定当前选中item 的颜色 ...

  2. Android ListView 删除 item

    实现效果 主要使用方法 是, remove 之后在刷新界面 adapter 里面的代码 public class MyAdapter extends BaseAdapter {private List ...

  3. ListView 添加头部 和尾部 布局 (addHeaderView 和 addFooterView)

    ListView 添加头部 和尾部 布局  其实很简单 ,listview 暴露的有方法addHeaderView 和 addFooterView 从源码里面可以看到, addHeaderView 和 ...

  4. Android ListView item设置分割线以及分割线宽度

    ListView item设置分割线的方法:setDivider ListView item设置分割线宽度的方法:setDividerHeight // 设置分割线 listView.setDivid ...

  5. Android ListView (多个adapter 说明)

    最近维护项目,项目里面使用的都是ListView 这里也对ListView 回顾一下 以下 demo 地址 ListView 在Android 里面用来实现列表的, 在xml 中创建ListView ...

  6. 玩转android自定义控件二——自定义索引栏listview

    带索引栏的listview,在android开发非常普遍,方便用户进行字母索引,就像微信通讯录这样: 今天,我们就从零到一实现这个具有索引栏的listview. 怎么实现这个控件了,我们应当梳理出一个 ...

  7. ListView style

    步骤一:在使用的ListView的activiey里使用android:theme="@style/Theme的名字" 步骤二:创建Themes.xml 在Themes.xml里定 ...

  8. Android自定义ListView的Item无法响应OnItemClick的解决办法

    转: 如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus,也就 ...

  9. 【原创】ListView快速滚动至新添加一行(自动滚动)

    在C#开发中我们经常要开发一些日志系统,尤其是基于ListView的日志显示系统. 但是当日志增多是你是否有一些困扰,就是它为什么不会自动滚动至最后一行. 以下是一小段代码,希望可以帮助你. publ ...

  10. Android使用ListView控件问题

    Android使用ListView控件问题: The application has stopped unexpectedly, please try again. 开发环境:android 1.6 ...

最新文章

  1. html5 游戏制作软件,制作h5小游戏的免费软件有哪些?
  2. MIT自然语言处理第五讲:最大熵和对数线性模型
  3. 并发编程——进程——进程的同步与数据共享
  4. Bumblebee微服务网关之并发限制
  5. iOS项目开发实战——使用Xcode6设计自己定义控件与图形
  6. C# 绘制PDF图形——基本图形、自定义图形、色彩透明度
  7. 如何才能在jsp文件中使用el表达式
  8. 4.2 优化数据访问
  9. Windows Workflow HOL学习笔记(七):添加一个验证来检查Email参数
  10. wap2010计算机考点,2010年全国计算机二级Access上机考试考点总结
  11. 【知识图谱】Louvain、LPA等5类经典社区发现算法 Python 实战
  12. etc fstab 详解linux,/etc/fstab文件详解
  13. IT成长日记(一)——字体
  14. Sort exceeded memory limit of 104857600 bytes 解决方案
  15. Sentinel流量卫兵
  16. OLED有哪些优劣势?
  17. WIX插件安装包的生成(三) 批量导入文件
  18. 行为设计模式:中介者模式
  19. 在灰度图像上进行Mean Shift迭代搜索目标 ,一维加权直方图 + 巴氏系数 + Mean Shift迭代
  20. PBR以及在Disney和UE渲染模型中的使用

热门文章

  1. 没事学学docker(三):配置阿里云镜像加速以及解决docker起不来的问题
  2. java用url创建imageview,Android中ImageView使用网络图片资源的方法
  3. Security+ 学习笔记24 数据中心防护
  4. PSQL容器带脚本初始化
  5. Linux Apache服务详解——Apache服务访问控制
  6. Leetcode 刷题笔记(二十) ——回溯算法篇之分割、子集、全排列问题
  7. 一个极简的RePlugin
  8. call_user_func_array
  9. 不同系统的文件格式转换
  10. Android 学习心得体会