Я столкнулся с этим при попытке реализовать пользовательский элемент управления и обнаружил, что это чрезвычайно сложная проблема. В модели Windows.Forms
нет встроенной функциональности для поддержки элементов управления, область отображения которых выходит за пределы клиентской области их контейнера.
В основном вам нужно либо использовать Windows API, либо нарисовать элементы управления внутри формы с набором AlwaysOnTop. Оба подхода сложнее, чем они должны быть. В итоге я изменил дизайн своего элемента управления, чтобы вместо отображения его развернутого содержимого в раскрывающемся списке он использовал модальное диалоговое окно. Это было довольно неудовлетворительное решение, но я потратил пару недель, пробуя другие подходы, и никогда не мог получить ничего, что работало бы последовательно во всех случаях использования (например, исчезновение, когда приложение теряет фокус).