效果图如下:
只要在DataGridView控件的左上角右击,就会在右击处出现CheckBoxList,CheckBoxList中的每一个项都是DataGridView的列名,默认情况下所有项都会被选定。取消某一项的选定后,相应的列就会隐藏,如果选定了,相应的列就会显示。请问VB代码中该怎样写? 多谢大虾

解决方案 »

  1.   

    用个picturebox就好了,只是没用过DataGridView
      

  2.   

    没用过DataGridView 。下面是搜的代码可以判断出单击位置,你可以用picturebox等模拟一下就可以了:
    Dim rowNum, columnNum As Integer '分别是行号和列号
    Private Sub DataGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGrid1.MouseDown
      Dim myGrid As DataGrid = CType(sender, DataGrid)
        Dim hti As System.Windows.Forms.DataGrid.HitTestInfo
        hti = myGrid.HitTest(e.X, e.Y)
        If e.Button = MouseButtons.Right And e.Clicks = 1 Then '如果是鼠标右击
            Select Case hti.Type '
                Case System.Windows.Forms.DataGrid.HitTestType.Cell, System.Windows.Forms.DataGrid.HitTestType.RowHeader, System.Windows.Forms.DataGrid.HitTestType.ColumnHeader
                    rowNum = hti.Row        '获得鼠标右击所在行
                    columnNum = hti.Column  '获得鼠标右击所在列
            End Select
        End If
    End Sub
      

  3.   

    百度来的地址:http://www.wzsky.net/html/program/net/28454.html,你自己看看