在datagridview C#中禁用列标题

时间:2013-08-01 02:48:17

标签: c# datagridview

我有一个datagridview'audit_TrailDataGridView'。我需要禁用它的列标题:用户单击列标题时不会发生任何事情。

private void audit_TrailDataGridView_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
         {
            //do what?

         }

请帮忙。

2 个答案:

答案 0 :(得分:1)

可能会发生不受欢迎的事情,因为当用户点击标题时会引发一个事件,旨在处理用户点击实际单元格而非标题时的情况(例如CellDoubleClick事件)。您需要手动检查单元格单击的所有此类事件不是标题:

 private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.RowIndex >= 0)
     {
         //do something here
     }
 }

答案 1 :(得分:0)

我在dataGridView1_SelectionChanged事件中遇到了类似的问题。

我希望在单击标题列时对DataGridView进行排序,但是不要实现我希望为非标题行单击运行的代码。

基本上我发现了一个愚蠢的解决方案,我在try catch方法中添加了一个巨大的dataGridView1_SelectionChanged块,包含了此方法中的所有内容。

也许这对你或其他人也有用。