【发布时间】:2013-12-02 20:37:31
【问题描述】:
当用户通过拖动 MDIClient 的滚动条拇指滚动它时,我需要更新 System.Windows.Forms.MDIClient 容器中子窗口的位置。
但是,我找不到在发生这种情况时触发的事件。
我只是想念它,还是需要解决方法,可能直接与滚动条对话?
我已经尝试过处理 MDIClient.Layout 事件,但它们没有被滚动触发。
编辑:我实际上只需要知道滚动何时停止,以便更改我的子窗口的位置。
EDIT2:作为一种临时解决方法,我每秒都在计时器上重置子窗口位置,显然不理想,但总比没有好。不过看起来很糟糕!
【问题讨论】:
-
在这里检测滚动你到底想要什么?我的意思是您可以通过拖动拇指进行滚动,也可以通过滚动鼠标进行滚动。
-
真正的任何滚动,无论它是如何完成的 - 问题是我的子控件需要始终位于 MDIClient 容器的右下角,并且滚动容器会将控件从我不知道的那个角落。如果我更改 MDIClient 的父窗口(顶级窗口)的大小,那很好,因为我检测到(使用父级的 Layout 事件),但我从 MDIClient Layout 事件中什么也得不到。