DataGridViewCoversTop,LeftHeaderCellClick(SelectAll)鼠标点击左侧单元格的行为)。该单元格导致所有行被选中。相反,我想阻止它选择所有行。我看到一个针对RowHeaderSelect和ColumnHeaderSelect的事件,但没有针对左上角标题单元格的事件。有任何想法吗?我只是瞎了吗?下面是单击单元格时发生的分解代码:privatevoidOnTopLeftHeaderMouseDown(){if(this.MultiSelect){this.SelectAll();如果(-1!=this.ptCurrentCell.X){this.SetCurrentCellAddressCore(this.ptCurrentCell.X,this.ptCurrentCell.Y,false,false,false);为了防止这种行为,您有两种解决方案:禁用多选(如果您的业务逻辑允许)继承您自己的数据网格并覆盖OnCellMouseDown(类似这样的东西)受保护的覆盖无效OnCellMouseDown(DataGridViewCellMouseEventArgse){if(e.RowIndex==-1&&e.ColumnIndex==-1)返回;base.OnCellMouseDown(e);我知道这已经很晚了,但希望它能帮助别人。下面的代码在类似的情况下对我有用。privatevoidMyDataGridView_MouseUp(objectsender,MouseEventArgse){DataGridView.HitTestInfohitInfo=this.MyDataGridView.HitTest(eX,eY);如果(hitInfo.Type==DataGridViewHitTestType.TopLeftHeader){MyDataGridView.ClearSelection();可以使用Thishackgetssomecontrolovertheclickevent:)以上是C#学习教程:DataGridView覆盖顶部,左侧header单元格点击(全选)分享所有内容,如果对大家有用并且需要了解更多关于C#我希望你会更多地关注教程—privatevoiddataGridView1_Click(objectsender,EventArgse){MouseEventArgsargs=(MouseEventArgs)e;DataGridViewdgv=(DataGridView)发送者;DataGridView.HitTestInfohit=dgv.HitTest(args.X,args.Y);if(hit.Type==DataGridViewHitTestType.TopLeftHeader){//在这里做点什么}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
