请问,怎么取得 当鼠标分别点击datagridview的列标题和数据区域的值 在一个窗口上有个datagridview,我用鼠标点击的时候怎么区分是点击到数据行还是列标题以及其他区域呢。独自学习的无奈啊,谢谢大家给点温暖。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CellMouseClick事件,DataGridViewCellMouseEventArgs参数,RowIndex=0为标题行,>0为数据行 更正楼上朋友的错误:RowIndex=-1才是标题行,数据行的下标从0开始private void g1_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e) { if (e.RowIndex == -1) { MessageBox.Show("点了列标题"); } else if (e.ColumnIndex == -1) { MessageBox.Show("点了行标题"); } else { MessageBox.Show("点了内容"); } } 使用HitTest来检测一下就可以了。 private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e){ System.Windows.Forms.DataGridView.HitTestInfo info = this.dataGridView1.HitTest(e.X, e.Y); //System.Console.WriteLine(info.Type); if (info.Type == DataGridViewHitTestType.ColumnHeader) { //Console.WriteLine("点在了列头上了"); }} 【好久结好纠结】小女不知vs2008好还是vs2010好,大家来提点建议啊 怎么实现进度条啊?急!!在线等 数据库 的一个问题 udp 问题 怎么把c++的程序改写成c# 函数调用的问题。请教! 同志们,帮小妹看看错哪了?啊?啊?啊? C# 2.0问题,急啊!!!!!!!!!!! NET如何精确计算一个对象占用的内存空间(GMK) 在线等待 DataRow myrow; long(myrow["账号"]); 账号字段为long 出错 为什么,该样才对 (在线)我快崩溃了。花了二天还没有搞定。连接SQL数据库问题。 c# Math.Atan 是怎么根据正切值返回弧度的?
private void g1_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.RowIndex == -1)
{
MessageBox.Show("点了列标题");
}
else if (e.ColumnIndex == -1)
{
MessageBox.Show("点了行标题");
}
else
{
MessageBox.Show("点了内容");
}
}
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
System.Windows.Forms.DataGridView.HitTestInfo info = this.dataGridView1.HitTest(e.X, e.Y);
//System.Console.WriteLine(info.Type);
if (info.Type == DataGridViewHitTestType.ColumnHeader)
{
//Console.WriteLine("点在了列头上了");
}
}