在ErrorProvider控件中,我们可以使用SetIconPadding();。为了设置要在图标和控件之间添加的像素数。

这样我们可以水平移动图标。
如何在垂直方向上做同样的事情?

我不知道如何扩展或覆盖图标定位。

PS。在某些情况下,SetIconAlignment()还不够。我只需要设置图标的自定义本地化即可。

最佳答案

不幸的是,他们不是这样做的简单方法。

通过使用功能SetIconPadding(),您只能以水平方式定义图标和控件之间的空间,但是也可以使用负值。

调用SetIconAlignment()只能将其放在控件的左侧或右侧,而不能放在其上方或下方。

要使此功能正常工作,可以采取的措施是在您需要errorProvider的控件周围放置一个面板,并使控件升高或降低。现在,您可以在此容器控件上设置提供程序,而不是直接在控件上设置提供程序,并通过为填充应用负值,可以将闪烁的图标移动到所需控件的上方或下方。

这有点骇人听闻,但我认为他们别无选择。

    +--Panel----------------------+
    |               !             |
    |     +------------------+    |
    |     | ControlWithError |    |
    |     +------------------+    |
    |                             |
    +-----------------------------+


如上所示,在控件上未设置ErrorProvider。将其设置在面板上,然后将IconAlignment设置为TopLeft,将IconPadding设置为某个负值(例如-50),并且图标在您想要的控件上方闪烁。

关于c# - 在ErrorProvider中填充顶部和底部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7172148/

10-10 08:46