GridView 有 RowCellClick 事件,即单元格点击事件,但是针对列标题行以及列标题单元格却没有相应的事件。 在这里使用 GridView 的 MouseDown 事件。这里同样使用的是 GridHitInfo 来获取点击位置的信息,来判断是否在列标题上。GridHitInfo 根据鼠标点击的 x、y 坐标获取该点的相关信息,判断是否点击在列标题行内。
private void gridView_MouseDown(object sender, MouseEventArgs e)
{
//鼠标左键点击
if (e.Button == MouseButtons.Left)
{
GridHitInfo info = gridView.CalcHitInfo(e.X, e.Y);
//在列标题栏内且列标题name是"colName"
if (info.InColumnPanel && info.Column.Name =="colName")
{
XtraMessageBox.Show("点击Name列标题!");
}
}
}