複数の実行時に生成された datagridview コントロールがあり、ユーザーが特定の datagridview で複数の行を選択したかどうかを確認したいと考えています。何らかの理由で、次の結果は常にゼロになります。プログラムを F9 で停止すると、この datagridview 行の選択された値が false であることがわかります。これを修正する方法はありますか?
私のコードは次のとおりです。
strDGVName = "dgvCheckpoint" & intTimeModificationSender
For Each tbp As TabPage In frmTimingP2P.tabctrlTimingTable.Controls
For Each dgv In tbp.Controls
If dgv.Name = strDGVName Then
intSelectedRowCount = dgv.Rows.GetRowCount(DataGridViewElementStates.Selected)
End If
Next
Next
ありがとう
私は今、次のことを試しました:
For Each tbp As TabPage In frmTimingP2P.tabctrlTimingTable.Controls
For Each ctrl As Control In tbp.Controls
Dim dgv As DataGridView = TryCast(ctrl, DataGridView)
If Not dgv Is Nothing Then
If dgv.Name = strDGVName Then
intSelectedRowCount = dgv.SelectedRows.Count
End If
End If
Next
Next
としても:
Dim c As Collections.Generic.IEnumerable(Of DataGridView)
For p = 0 To frmTimingP2P.tabctrlTimingTable.TabCount - 1
c = frmTimingP2P.tabctrlTimingTable.TabPages(p).Controls.OfType(Of DataGridView)()
If c(0).Name = strDGVName Then p = frmTimingP2P.tabctrlTimingTable.TabCount
End If
Next
intSelectedRowCount = c(0).SelectedRows.Count
しかし、それでもゼロの行数を返します。