在ErrorProvider控件我们可以使用SetIconPadding();以设置图标和控件之间添加的像素数量。
这样我们可以水平移动图标。
如何做到这一点,但在垂直?
我不知道如何扩展或重载图标定位。
PS。在某些情况下SetIconAlignment()是不够的。我只需设置图标的自定义本地化。
在ErrorProvider控件我们可以使用SetIconPadding();以设置图标和控件之间添加的像素数量。
这样我们可以水平移动图标。
如何做到这一点,但在垂直?
我不知道如何扩展或重载图标定位。
PS。在某些情况下SetIconAlignment()是不够的。我只需设置图标的自定义本地化。
不幸的是,他们是没有容易方式做到这一点。
通过使用函数SetIconPadding()
,您可以只在水平方向上定义图标和控件之间的空间,但也可以使用负值。
随着调用SetIconAlignment()
你只能把它放在控制的左侧或右侧,但不能在其上方或下方。
一个黑客得到这个工作,将围绕控制面板你需要errorProvider并使其更高和/或更低。现在,您可以直接在容器控件上设置提供程序,而不是直接使用控件,并通过为填充应用负值,可以将闪烁图标移动到您喜欢的控件的上方或下方。
这是一种骇人听闻的,但我认为他们没有其他办法做到这一点。
+--Panel----------------------+
| ! |
| +------------------+ |
| | ControlWithError | |
| +------------------+ |
| |
+-----------------------------+
如上所述,将ErrorProvider设置为不在控件上。将其设置为面板并将IconAlignment
设置为TopLeft
和IconPadding
以达到某个负值(例如-50),并且您的图标在您的控制之上闪烁。
这是很好的替代解决方案。谢谢。在空闲时间,我将找到更好的解决方案。 – revelvice