CheckedListBox 当中项的状态改变

  • Post author:
  • Post category:其他


首先,说下我需要实现的功能,就是把获得数据Id显示在CheckedListBox上(单击空白处不响应),如果在CheckedListBox上勾选的项就加入到list集合中,取消勾选状态就从集合中移除。

之前我碰到一个问题,如图:

我采用SelectedIndexChanged 和MouseClick事件,都不能解决我碰到的问题。

解决办法:

void lstMotes_ItemCheck(object sender, ItemCheckEventArgs e)

{


if (lstMotes.IndexFromPoint(lstMotes.PointToClient(Cursor.Position).X,

lstMotes.PointToClient(Cursor.Position).Y) == -1)

{//这边判断如果点击空白的地方不触发事件

e.NewValue = e.CurrentValue;

}

else

{//这边开始判断集合当中是不是已经有ID,如果没有就加入

string temp = lstMotes.SelectedItem.ToString();

if (!listM_moteeui.Contains(temp))

{


listM_moteeui.Add(temp);

}

else

listM_moteeui.Remove(temp);

}

}



版权声明:本文为apgk1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。