К сожалению, это не простой способ сделать это.
Используя функцию SetIconPadding()
, вы можете определить расстояние между значком и элементом управления только по горизонтали, но также допускаются отрицательные значения.
При вызове SetIconAlignment()
вы можете поместить его только где-то слева или справа от элемента управления, но не выше или ниже его.
Хак, чтобы заставить это работать, состоял бы в том, чтобы поместить панель вокруг элемента управления, для которого нужен errorProvider, и сделать его выше и / или ниже. Теперь вы можете установить провайдер для этого элемента управления контейнера вместо прямого элемента управления, и, применяя отрицательные значения для отступа, вы можете перемещать мигающий значок над или под нужным вам элементом управления.
Это что-то вроде хакерства, но я думаю, что нет другого способа сделать это.
+--Panel----------------------+
| ! |
| +------------------+ |
| | ControlWithError | |
| +------------------+ |
| |
+-----------------------------+
Как показано выше, установите ErrorProvider не на элементе управления. Установите его на панель и установите IconAlignment
на TopLeft
и IconPadding
на какое-то отрицательное значение (например, -50), и ваш значок мигает над вашим контролем.