У меня есть ScrollBox, в котором у меня есть GridPanel, в которой у меня есть кнопки.Я установил DragMode на dmAutomatic для всех кнопок, чтобы можно было перемещать кнопки (перетаскивать).
Но у меня есть проблема: поскольку GridPanel больше, чем ScrollBox, ScrollBox имеет видимую вертикальную полосу прокрутки.Я хочу, чтобы ScrollBar автоматически прокручивал вниз, чтобы я мог опустить дно из видимых (верхних) строк в недоступные строки в нижней части (это типичное поведение для всех программ Windows, верно?)
Iесть простой код, который делает это: в MouseMove я определяю, когда мышь приближается к нижней части ScrollBox, и настраиваю ScrollBox.VertScrollBa.Position для прокрутки вниз.Это работает ТОЛЬКО если я НЕ в режиме «перетаскивания» (если я не перетаскиваю кнопку).
Если я запускаю операцию перетаскивания НИКАКИЕ события мыши не запускаются .
Что я могу сделать, чтобы получить событие MouseMove, даже если я нахожусь в режиме «перетаскивания»?
Решением было бы не использовать dmAutomatic и реализовать собственную альтернативу перетаскивания (основанную на mousedown,mousemove, mouseup).Это более быстрое решение?