2 chenqixia chenqixia 于 2016.04.07 16:57 提问

C# Datagridview滚动条的问题 2C

写了个小的程序,基本上是:
1、注册键盘中的‘↑’触发关闭Form窗口;

  Win32.RegisterHotKey(handle, (int)HotKeyID.CloseForm, (uint)KeyModifiers.None, Keys.Up);

2、在Form中拦截该消息

 protected override void WndProc(ref System.Windows.Forms.Message e)
        {
            if(e.Msg == 0x0312)
            {
                            if((LockHotKey.HotKeyID)m.WParam == HotKeyID.CloseForm)
                                {
                                            this.Close();
                                }
            }
            base.WndProc(ref e);  
        }

3、运行程序,在Form中用鼠标按住Datagridview上的滚动条,同时按下键盘上的‘↑’,这时就会弹出错误
图片说明

3个回答

qq_21561111
qq_21561111   2016.04.07 17:30

无法访问已释放的对象,,,是不是有什么”东东“在你不注意的情况下,不小心关了

chenqixia
chenqixia 就是按住滚动条的同时,关闭Form,这个时候Datagridview被释放了,可是又不知道在什么地方处理这个消息
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.04.07 17:31

ListView滚动条问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

lj1995091
lj1995091   2016.04.29 15:28

你是想要在按住dgv滚动条的同时如果按了键盘的↑键 就关闭这个窗口???

chenqixia
chenqixia 或者不关闭也行,但是怎么知道当前鼠标正在按住dgv的滚动条呢
一年多之前 回复
chenqixia
chenqixia 是的,现在是窗口关闭后会报错
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!