以下是引用湛江智在2018/9/18 16:25:00的发言:
如果要实现 如果参与了 活动一 或活动二 的员工,不再出现在 左边的员工列表里面,代码怎么写呢?
看懂红色代码
Dim lvw As WinForm.ListView = e.Sender
If lvw.Rows.Count >= 3 AndAlso e.Source.Name <> lvw.Name Then '如果已经有三人,而且是从其他ListView拖动过来.
Messagebox.show("每项活动最多允许三人参与!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.Cancel = True '取消本次拖动
Return
End If
If e.Source.Name = "ListView1" '如果是从员工列表中拖过来的行
e.Delete = False '不要删除原来的项目
End If
Dim itm As WinForm.ListViewRow = e.Source.Rows(e.OldIndex) '获取要拖动过来的行
If e.Source.Name <> e.Sender.Name Then '如果是从其他ListView中拖动过来的
If e.Sender.Rows.Contains(itm.Name) '判断活动一是否已经包括此员工
MessageBox.Show("此员工已经报名参加活动一,无需重复报名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.Cancel = True '取消本次拖动
End If
End If
http://www.foxtable.com/webhelp/scr/2828.htm