zoukankan      html  css  js  c++  java
  • 怎样正确处理WinForm中Listview的ItemCheck事件

    我很少写具体的对象应用心得,这次尝试一下。

    WinForm中Listview的ItemCheck事件,例子如下:
      private void lvwTables_ItemCheck(object sender, ItemCheckEventArgs e)
    {
    Check();
    }

    private void Check()
    {
       for (int i = 0; i < lvwTables.CheckedItems.Count; i++)
      {
        //Some biz here //这里检测不到选中的项目的正确状态
      }
    }

    因为ItemCheck事件是在Check的一刻触发的,lvwTables.CheckItems中还没有添加。

    我这样处理:

      private void lvwTables_ItemCheck(object sender, ItemCheckEventArgs e)
      {
       Check(e.Index, e.NewValue);
      }

      private void Check(int CurrentItem, CheckState State)
      {
       for (int i = 0; i < lvwTables.CheckedItems.Count; i++)
       {
        if (i != CurrentItem)
         //some biz here //能正确检测
       }
       if (CurrentItem != -1 && State == CheckState.Checked)
        //some biz here  //这里补一下
      }

    为什么不直接在事件中biz?因为我有很多个地方要调用一样的代码,所以封装成函数。

    方法有点笨。
  • 相关阅读:
    上传文件(一)
    momentjs
    asp.net中session的原理及应用
    聊天程序(基于Socket、Thread)
    接口与抽象类
    asp.net 发送邮件
    Web.Config文件详解
    Apache Sqoop
    HBase 数据模型(Data Model)
    HBase框架学习之路
  • 原文地址:https://www.cnblogs.com/unruledboy/p/ListViewItemCheck.html
Copyright © 2011-2022 走看看