捕捉DataGrid的双击事件

来源:互联网 发布:惊艳的句子知乎 编辑:程序博客网 时间:2024/04/24 02:39
Option Strict OffOption Explicit OnImports Microsoft.VisualBasicImports SystemImports System.ComponentModelImports System.DataImports System.DrawingImports System.Windows.FormsNamespace DataGridDoubleClickPublic Class Form1Inherits FormPrivate WithEvents dataGrid1 As DataGridPrivate WithEvents myDataSet As DataSetPrivate gridMouseDownTime As DateTimePrivate components As ContainerPublic Sub New()MyBase.New()InitializeComponent()gridMouseDownTime = DateTime.NowSetUp()End SubProtected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)If disposing ThenIf (Not (components) Is Nothing) Thencomponents.Dispose()End IfEnd IfMyBase.Dispose(disposing)End SubPrivate Sub SetUp()MakeDataSet()dataGrid1.SetDataBinding(myDataSet, "Customers")AddCustomDataTableStyle()End SubPrivate Sub MakeDataSet()myDataSet = New DataSet("myDataSet")Dim tCust As DataTabletCust = New DataTable("Customers")Dim cCustID As DataColumncCustID = New DataColumn("custID")Dim cCustName As DataColumncCustName = New DataColumn("custName")Dim cCurrent As DataColumncCurrent = New DataColumn("custCity")tCust.Columns.Add(cCustID)tCust.Columns.Add(cCustName)tCust.Columns.Add(cCurrent)myDataSet.Tables.Add(tCust)Dim newRow1 As DataRowDim i As Integeri = 1Do While (i < 4)newRow1 = tCust.NewRownewRow1("custID") = i.ToString()tCust.Rows.Add(newRow1)i = (i + 1)LooptCust.Rows(0)("custName") = "【孟宪会之精彩世界】"tCust.Rows(1)("custName") = "net_lover"tCust.Rows(2)("custName") = "http://xml.sz.luohuedu.net/"tCust.Rows(0)("custCity") = "北京"tCust.Rows(1)("custCity") = "上海"tCust.Rows(2)("custCity") = "河南"End SubPrivate Sub AddCustomDataTableStyle()Dim ts1 As DataGridTableStylets1 = New DataGridTableStyle()ts1.MappingName = "Customers"ts1.AlternatingBackColor = Color.LightGrayDim TextCol As DataGridTextBoxColumnTextCol = New DataGridTextBoxColumn()TextCol.MappingName = "custID"TextCol.HeaderText = "序号"TextCol.Width = 100AddHandler TextCol.TextBox.MouseDown, New MouseEventHandler(AddressOf TextBoxMouseDownHandler)AddHandler TextCol.TextBox.DoubleClick, New EventHandler(AddressOf TextBoxDoubleClickHandler)ts1.GridColumnStyles.Add(TextCol)TextCol = New DataGridTextBoxColumn()TextCol.MappingName = "custName"TextCol.HeaderText = "姓名"TextCol.Width = 100AddHandler TextCol.TextBox.MouseDown, New MouseEventHandler(AddressOf TextBoxMouseDownHandler)AddHandler TextCol.TextBox.DoubleClick, New EventHandler(AddressOf TextBoxDoubleClickHandler)ts1.GridColumnStyles.Add(TextCol)TextCol = New DataGridTextBoxColumn()TextCol.MappingName = "custCity"TextCol.HeaderText = "地址"TextCol.Width = 100AddHandler TextCol.TextBox.MouseDown, New MouseEventHandler(AddressOf TextBoxMouseDownHandler)AddHandler TextCol.TextBox.DoubleClick, New EventHandler(AddressOf TextBoxDoubleClickHandler)ts1.GridColumnStyles.Add(TextCol)dataGrid1.TableStyles.Add(ts1)End SubFriend WithEvents Label1 As System.Windows.Forms.LabelPrivate Sub InitializeComponent()Me.dataGrid1 = New System.Windows.Forms.DataGrid()Me.Label1 = New System.Windows.Forms.Label()CType(Me.dataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()Me.SuspendLayout()''dataGrid1'Me.dataGrid1.CaptionVisible = FalseMe.dataGrid1.DataMember = ""Me.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlTextMe.dataGrid1.Location = New System.Drawing.Point(12, 8)Me.dataGrid1.Name = "dataGrid1"Me.dataGrid1.Size = New System.Drawing.Size(368, 128)Me.dataGrid1.TabIndex = 0''Label1'Me.Label1.Location = New System.Drawing.Point(10, 149)Me.Label1.Name = "Label1"Me.Label1.Size = New System.Drawing.Size(370, 23)Me.Label1.TabIndex = 1Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter''Form1'Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)Me.ClientSize = New System.Drawing.Size(388, 189)Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Label1, Me.dataGrid1})Me.Name = "Form1"Me.Text = "鼠标双击事件的例子"CType(Me.dataGrid1, System.ComponentModel.ISupportInitialize).EndInit()Me.ResumeLayout(False)End Sub<STAThread()> _Public Shared Sub Main()Application.Run(New Form1())End SubPrivate Sub TextBoxDoubleClickHandler(ByVal sender As Object, ByVal e As EventArgs)MessageBox.Show("TrueDoubleClick")End SubPrivate Sub TextBoxMouseDownHandler(ByVal sender As Object, ByVal e As MouseEventArgs)If (DateTime.Now < gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime)) ThenMessageBox.Show("GridDoubleClick:" + CType(sender, TextBox).Text)End IfLabel1.Text = "TextBoxMouseDownHandler "End SubPrivate Sub dataGrid1_MouseDown(ByVal sender As System.Object, _ByVal e As System.Windows.Forms.MouseEventArgs) Handles dataGrid1.MouseDowngridMouseDownTime = DateTime.NowLabel1.Text = "dataGrid1_MouseDown "End SubPrivate Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles Label1.ClickLabel1.Text = ""End SubPrivate Sub Form1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles MyBase.ClickLabel1.Text = ""End SubEnd ClassEnd Namespace
原创粉丝点击