您的位置:首页 > 其它

在 winform 中的 datagrid 中实现单元格双击事件

2008-06-17 18:09 423 查看

在 winform 中的 datagrid 中实现单元格双击事件




Public Class Member1Class Member1


Inherits System.Windows.Forms.Form




'Windows 窗体设计器生成的代码


'省略



..




Dim mydb As New Db


Dim dgListMouseDownTime As Date






Private Sub Member1_Load()Sub Member1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


mydb.daMember.Fill(Me.DsMember1)


Dim dgStyle As New DataGridTableStyle


dgStyle.MappingName = Me.DsMember1.Tables(0).TableName


Me.dgList.TableStyles.Add(dgStyle)




'在第一列上实现双击事件


Dim memberID As DataGridTextBoxColumn = Me.dgList.TableStyles(0).GridColumnStyles(0)


AddHandler memberID.TextBox.MouseDown, AddressOf memberID_MouseDown


End Sub




'如果鼠标定位到单元格,则设置定位到单元格上的时间




Private Sub dgList_MouseDown()Sub dgList_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgList.MouseDown


Dim hit As DataGrid.HitTestInfo = Me.dgList.HitTest(e.X, e.Y)


If hit.Type = DataGrid.HitTestType.Cell Then


Me.dgListMouseDownTime = Now


End If


End Sub






Private Sub memberID_MouseDown()Sub memberID_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)


If (e.Button = MouseButtons.Left And e.Clicks = 2) Or (Now < Me.dgListMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime)) Then


MessageBox.Show("双击了单元格!")


End If


End Sub


End Class
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: