在ErrorProvider控件中我们可以使用SetIconPadding();为了设置在图标和控件之间添加的像素数。
通过这种方式,我们可以水平移动图标
如何在垂直方向上做同样的事情?
我不知道如何扩展或覆盖图标定位。
PS。在某些情况下SetIconAlignment()是不够的。我只需要设置图标的自定义本地化。
答案 0 :(得分:6)
不幸的是,他们没有简单的方式来做到这一点。
通过使用函数SetIconPadding()
,您可以仅以水平方式定义图标和控件之间的空间,但也允许使用负值。
通过调用SetIconAlignment()
,您只能将其放在控件的左侧或右侧,但不能放在控件的上方或下方。
让这个工作起作用的黑客就是在控件上放置一个面板,你需要使用errorProvider并使其更高和/或更低。现在,您可以直接在此容器控件上设置提供程序而不是意味着控件,并且通过为填充应用负值,您可以将闪烁图标移动到您喜欢的控件上方或下方。
这是某种hackish,但我认为他们没有别的办法。
+--Panel----------------------+
| ! |
| +------------------+ |
| | ControlWithError | |
| +------------------+ |
| |
+-----------------------------+
如上所述,请将ErrorProvider设置为不在控件上。将其设置为面板,并将IconAlignment
设置为TopLeft
,将IconPadding
设置为某个负值(例如-50),并且您的图标闪烁在您想要的控件上方。