private void ViewHtlb_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && e.Clicks == 2) // 判斷是否是用鼠標雙擊 { DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo ghi = ViewHtlb.CalcHitInfo(new Point(e.X, e.Y)); if (ghi.InRow) // 判斷光標是否在行內 { MessageBox.Show("已經雙擊!"); } } }
增加改方法的位置:
那麼該方法與
private void grid1_DoubleClick(object sender, EventArgs e)
有什麼區別呢?
grid1_DoubleClick(object sender, EventArgs e)函數會捕獲整個grid的雙擊事件而不僅僅是雙擊列表行事件,比如:你雙擊表頭、列表展示數據的下方的空白部分都會引發grid1_DoubleClick(object sender, EventArgs e)函數,而ViewHtlb_MouseDown(object sender, MouseEventArgs e)函數此時不會被激活。
查看本欄目