gpt4 book ai didi

c# - DataGridView 覆盖顶部,左侧标题单元格单击(全选)

转载 作者:行者123 更新时间:2023-12-03 20:33:21 26 4
gpt4 key购买 nike

我想覆盖鼠标单击 DataGridView 标题/列单元格(顶部,左侧单元格)的行为。该单元格会导致所有行都被选中。相反,我想阻止它选择所有行。我看到了 RowHeaderSelect 和 ColumnHeaderSelect 的事件,但没有看到左上角标题单元格的事件。

有什么想法吗?我只是瞎了吗?

最佳答案

这是单击该单元格时发生的反汇编代码:

private void OnTopLeftHeaderMouseDown()
{
if (this.MultiSelect)
{
this.SelectAll();
if (-1 != this.ptCurrentCell.X)
{
this.SetCurrentCellAddressCore(this.ptCurrentCell.X, this.ptCurrentCell.Y, false, false, false);
}
}

为了防止这种行为,您有 2 个解决方案:

  1. 禁用多选(如果您的业务逻辑允许)
  2. 继承你自己的数据网格并覆盖 OnCellMouseDown(类似这样)

    protected override void OnCellMouseDown(DataGridViewCellMouseEventArgs e)
    {
    if (e.RowIndex == -1 && e.ColumnIndex == -1) return;
    base.OnCellMouseDown(e);
    }

关于c# - DataGridView 覆盖顶部,左侧标题单元格单击(全选),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1504620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com