【发布时间】:2015-01-14 08:32:03
【问题描述】:
不知道vb.net中是否有datagridview header右键事件。
在我的 vb.net 项目中,我有一个 datagridview,每当我右键单击标题部分时,应用程序都会崩溃。有没有办法避免崩溃,例如添加事件处理程序或任何其他方法?
谢谢。
datagrid相关代码:
更新1:
我的datagrid相关代码如下:
Private Sub Result_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
logger = log4net.LogManager.GetLogger("MyProject")
logger.Info("Result_Load() - Start")
Using connObj As New SqlClient.SqlConnection(My.Settings.dbConnectionString)
connObj.Open()
gridSql = "SELECT USER_ID, USER_NAME, USER_ADDRESS, USER_EMAIL FROM USER_DETAILS " & vbCrLf &
"WHERE USER_ID IN (" + Attribute.allUserSelected + ")"
' the Attribute.allUserSelected is pass from another form
logger.Info("gridSql= " + gridSql)
Try
adapter = New SqlDataAdapter(gridSql, connObj)
adapter.Fill(ds)
connObj.Close()
DataGridView1.DataSource = ds.Tables(0)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Using
Catch ex As Exception
MsgBox(ex.ToString)
logger.Error(ex.ToString)
Return
End Try
End Sub
Private Sub dataGridView1_ColumnHeaderMouseClick(ByVal sender As Object, ByVal e As DataGridViewCellMouseEventArgs) Handles DataGridView1.ColumnHeaderMouseClick
MsgBox("click the header....")
'I can get the message here
If (e.Button = MouseButtons.Right) Then
MsgBox("right click the header......")
'cannot get this ,message, crash immediately
End If
end Sub
请指教,谢谢。
【问题讨论】:
-
在没有任何代码的情况下会崩溃吗?如果您尚未定义事件,则此事件不会执行任何代码。也许你修改了绘图代码?
-
您好 Btc,感谢您的快速回复。我什至没有找到是什么事件,只能找到表头的点击事件,而右键找不到。
-
你能提供你的代码吗?
-
大家好,刚刚找到一个解决方案,提到只使用 ColumnHeaderMouseClick 事件来处理右键单击事件,稍后将对其进行测试并更新状态。
-
嗨 Btc 和 Jérémie,我已经附上了数据网格的代码,知道吗?非常感谢!
标签: vb.net datagridview header right-click