当我实现 GridView 的 MouseDown 事件时,在我单击 GridView 内的任何内容后,我的程序会发疯并开始将屏幕上的所有内容都视为 GridView,在我单击的任何位置调用 MouseDown 事件。我不太确定为什么会这样,但我发现了这个代码片段:
GridHitInfo downHitInfo = null;
private void view_MouseDown(object sender, MouseEventArgs e)
{
GridView view = sender as GridView;
downHitInfo = null;
GridHitInfo hitInfo = view.CalcHitInfo(new Point(e.X, e.Y));
if (Control.ModifierKeys != Keys.None) return;
if (e.Button == MouseButtons.Left && hitInfo.RowHandle >= 0)
downHitInfo = hitInfo;
}
这可以防止这种情况。但是,我仍然不确定为什么这会阻止这种精神错乱。任何关于正在发生的事情的想法表示赞赏