通常,要移动DataGridView
中的列,只需点击并拖动即可。但是,如果在此操作之前立即滚动(这在移动列时非常常见),则必须在单击并拖动之前单击该列。我认为这与DataGridView
失去焦点有关,所以我从水平滚动条中听取Scroll
类型的EndScroll
事件,并在{{Focus()
上调用DataGridView
1}}那里。那没用。在这种情况下,有人知道如何在没有额外点击的情况下移动列吗?
答案 0 :(得分:0)
这看起来像WinForms
错误。
反编译System.Windows.Forms
帮助我找到解决方案:声明一个DataGridView
子类并以这种方式覆盖OnScroll
函数:
protected override void OnScroll(ScrollEventArgs e)
{
base.OnScroll(e);
base.OnMouseUp(new MouseEventArgs(MouseButtons.Left, 1, 0, 0, 0));
}