在ErrorProvider控件中,我们可以使用SetIconPadding();。为了设置要在图标和控件之间添加的像素数。
这样我们可以水平移动图标。
如何在垂直方向上做同样的事情?
我不知道如何扩展或覆盖图标定位。
PS。在某些情况下,SetIconAlignment()还不够。我只需要设置图标的自定义本地化即可。
最佳答案
不幸的是,他们不是这样做的简单方法。
通过使用功能SetIconPadding()
,您只能以水平方式定义图标和控件之间的空间,但是也可以使用负值。
调用SetIconAlignment()
只能将其放在控件的左侧或右侧,而不能放在其上方或下方。
要使此功能正常工作,可以采取的措施是在您需要errorProvider的控件周围放置一个面板,并使控件升高或降低。现在,您可以在此容器控件上设置提供程序,而不是直接在控件上设置提供程序,并通过为填充应用负值,可以将闪烁的图标移动到所需控件的上方或下方。
这有点骇人听闻,但我认为他们别无选择。
+--Panel----------------------+
| ! |
| +------------------+ |
| | ControlWithError | |
| +------------------+ |
| |
+-----------------------------+
如上所示,在控件上未设置ErrorProvider。将其设置在面板上,然后将
IconAlignment
设置为TopLeft
,将IconPadding
设置为某个负值(例如-50),并且图标在您想要的控件上方闪烁。关于c# - 在ErrorProvider中填充顶部和底部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7172148/