Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何制作一个数组来显示在整个datagridview上进行的单击?_Vb.net_Datagridview_Click - Fatal编程技术网

Vb.net 如何制作一个数组来显示在整个datagridview上进行的单击?

Vb.net 如何制作一个数组来显示在整个datagridview上进行的单击?,vb.net,datagridview,click,Vb.net,Datagridview,Click,pourpose是构建一个3xn数组(3列,n行),它显示/枚举在datagriview上进行的点击 3列第1列:单击次数,首先单击datagridview上的所有内容。Column2:e.columnindex在datagridview上单击所有内容。第3列:在datagridview上单击的行索引 n行:第1行:与整个dgv的首次单击相关的信息,即:(1,3,7)(单击1,单击3的列索引,单击7的行索引)。。。。第n行;通过dgv进行的单击总数 下面是我拥有的最好的代码: Private A

pourpose是构建一个3xn数组(3列,n行),它显示/枚举在datagriview上进行的点击

3列第1列:单击次数,首先单击datagridview上的所有内容。Column2:e.columnindex在datagridview上单击所有内容。第3列:在datagridview上单击的行索引

n行:第1行:与整个dgv的首次单击相关的信息,即:(1,3,7)(单击1,单击3的列索引,单击7的行索引)。。。。第n行;通过dgv进行的单击总数

下面是我拥有的最好的代码:

Private Accums As New ArrayList
Private Sub ClickMouse(sender As Object, e As DataGridViewCellMouseEventArgs) Handles datagridview.CellMouseClick
Accums.Add(New Integer() {e.Clicks, e.ColumnIndex, e.RowIndex})
End Sub

您需要处理
DataGridView
的事件,并从它提供的参数中提取
ColumnIndex
RowIndex
属性。接下来的工作应该是创建一个新行(如果需要)并填充适当的值。这应该根据需要创建结构(如果没有错误:D):

此解决方案的问题在于每次单击时都会重新创建数组并将值复制到中,这不是很有效。您可以事先创建一个大型阵列,但这也不是很有效。依我看,原来的解决办法更好。我稍微修改了,使其更接近所需的结构,但数组中的第一项不是必需的,因为它是索引或ArrayList

Private Accums As New ArrayList
Private Sub ClickMouse(sender As Object, e As DataGridViewCellMouseEventArgs) Handles datagridview.CellMouseClick
   Accums.Add(New Integer() {Accums.Count, e.ColumnIndex, e.RowIndex})
End Sub

在这两种情况下,我都使用创建的“记录”数作为计数器。如果单独的计数器更方便,它可以在类级别声明,并在事件过程中递增。

Hi Adrian!谢谢你的努力,但我已经尝试过了,但是没有效果。当你尝试时会发生什么?你能分享你在编辑你的问题时所写的代码吗?因此,每次点击网格中的任意位置都会添加一个新行?是否要区分单击和双击?每次单击任意位置都会添加一个新行(不在datagrid中,我的意思是在矩阵/数组中)。我不想区分单击和双击,我只想关注单击。谢谢
Private Accums As New ArrayList
Private Sub ClickMouse(sender As Object, e As DataGridViewCellMouseEventArgs) Handles datagridview.CellMouseClick
   Accums.Add(New Integer() {Accums.Count, e.ColumnIndex, e.RowIndex})
End Sub