网格控件实现不用按Ctrl键进特多选

翻译|其它|编辑:郝浩|2007-03-19 10:51:39.000|阅读 1969 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

我想在一个有网格的控件上实现这么一种操作:单击一行数据,选中本行,再单击另外一行,选中另一行;如果单击一个已经选中的行,则选中的行就可以取消选中。其实就是不用按住ctrl键实现按住ctrl键的效果。

本来在listBox中可以实现这种操作,但是listBox中没有网格的形状,所以只好考虑其它的方法了(这个实现的方法是在单击listBox时,使用sendKeys发送ctr键)

------------------------------------------

可以用LISTVIEW控件

Option Explicit

Dim bolFlag As Boolean, lngRow As Long

Private Sub Form_Load()

'设置ListView1控件的查看方式为:3
'设置整行选择属性
'设置网络行

Dim i As Long
Dim lvItem As ListItem

For i = 1 To 5
    Set lvItem = ListView1.ListItems.Add(, , "姓名")
   lvItem.ListSubItems.Add , , "性别"
Next
End Sub

Private Sub ListView1_Click()
   bolFlag = Not bolFlag
       If lngRow = ListView1.SelectedItem.Index Then ListView1.SelectedItem.Selected = bolFlag
   lngRow = ListView1.SelectedItem.Index
End Sub


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP