我正在将 VB6 代码迁移到 VB.NET,我们正在使用 .NET 4.5.2 进入 VS2013 阶段。在原始代码中,有允许双击删除行和单击单击行选择/取消选择的 FlexGrid。我已经双击了,它会删除该行并将所有行设置为取消选择(因为双击标题单元格正在重新排序行并选择一行,而无需单击该行,然后删除现在选择的行)。我不知道这是否相关,但我已将其包括在内以防万一。
我看过这里,但它没有帮助,因为这种行为是预期的,我不知道客户是否希望听到每个人都必须重新培训才能使用 CTRL+单击方法来取消选择。如果必须如此,那就这样吧,但我必须努力做到这一点。
使用单元格点击事件来做这样的事情
Private Sub grdSelectedOps_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles grdSelectedOps.CellClick
If Not grdSelectedOps(e.ColumnIndex, e.RowIndex).Selected Then
grdSelectedOps(grdSelectedOps.CurrentCell.ColumnIndex, grdSelectedOps.CurrentCell.RowIndex).Selected = True
Else
grdSelectedOps(grdSelectedOps.CurrentCell.ColumnIndex, grdSelectedOps.CurrentCell.RowIndex).Selected = False
End If
End Sub
不起作用,因为如果您单击了已选择它的单元格,那么它总是会立即取消选择它。多选关闭。这可能吗?