Vb.net-DatagridView之右击删除选中行

Vb.net-DatagridView之右击删除选中行,第1张

概述    做第一版《机房收费系统》时,听说有同学实现了一个功能:右击行,显示“下机”,点击“下机”删除某个正在上机的学生,把我羡慕的不得了,心想,在我机房重构的时候,也要实现这个功能,于是,开始期盼。。。终于等到了自己要做“选中下机”的这一天。。。    整体思路:     右击显示“下机”,和点击“下机”删除是分开的两个 *** 作。要先根据我们鼠标右击的位置,确定所在的行,显示“下机”,然后才能点击“下 做第一版《机房收费系统》时,听说有同学实现了一个功能:右击行,显示“下机”,点击“下机”删除某个正在上机的学生,把我羡慕的不得了,心想,在我机房重构的时候,也要实现这个功能,于是,开始期盼。。。终于等到了自己要做“选中下机”的这一天。。。 整体思路: 右击显示“下机”,和点击“下机”删除是分开的两个 *** 作。要先根据我们鼠标右击的位置,确定所在的行,显示“下机”,然后才能点击“下机”,执行下机 *** 作。 具体 *** 作: 1、控件:ContextMenuStrip 添加控件,编辑选项,在这里不仅可以添加“下机”,也可以添加“复制”“粘贴”等。

2、代码:
'右击事件    Private Sub DgvlineManage_CellMouseDown(sender As Object,e As DataGrIDVIEwCellMouseEventArgs) Handles DgvlineManage.CellMouseDown        If e.button = windows.Forms.Mousebuttons.Right Then            If e.RowIndex >= 0 Then                '若行已是选中状态,就不再进行设置。                If DgvlineManage.Rows(e.RowIndex).Selected = False Then                    DgvlineManage.ClearSelection()                    DgvlineManage.Rows(e.RowIndex).Selected = True                End If                '只选中一行时,设置活动单元格                If DgvlineManage.SelectedRows.Count = 1 Then                    DgvlineManage.CurrentCell = DgvlineManage.Rows(e.RowIndex).Cells(e.RowIndex)                End If                '获取鼠标右击位置后,d出 *** 作菜单                ContextMenuStrip1.Show(Mouseposition.X,Mouseposition.Y)            End If        End If
end sub

Private Sub 删除ToolStripMenuItem_Click(sender As Object,e As EventArgs) Handles 删除ToolStripMenuItem.Click        For Each r As DataGrIDVIEwRow In DgvlineManage.SelectedRows            If Not r.IsNewRow Then                '添加下机 *** 作的代码                '**************我的下机代码**********                If (MsgBox("确定要强制此用户下机吗?",MsgBoxStyle.OkCancel + MsgBoxStyle.information,"提示") = MsgBoxResult.Ok) Then                    '选中下机                    Dim CardID As String                    Dim RowNum As Integer '要删除的行                    '获取选中行的卡号                    CardID = Trim(DgvlineManage.SelectedRows(RowNum).Cells(0).Value.ToString())                    Call Offline(CardID)                    MessageBox.Show("强制下机成功!","提示",MessageBoxbuttons.OK,MessageBoxIcon.information)                End If                '**************我的下机代码**********                '将选中的行移除。                DgvlineManage.Rows.Remove(r)            End If        Next    End Sub

这是选中一行下机的 *** 作,选中多行下机的 *** 作,添加一个循环就可以了,读者可以自行探索一下。 小结: 功能很简单,想到这个功能不简单。我们要善于发现,敢于 *** 作。 总结

以上是内存溢出为你收集整理的Vb.net-DatagridView之右击删除选中行全部内容,希望文章能够帮你解决Vb.net-DatagridView之右击删除选中行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1266458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存