C# 在ErrorProvider中填充顶部和底部

C# 在ErrorProvider中填充顶部和底部,c#,.net,winforms,padding,errorprovider,C#,.net,Winforms,Padding,Errorprovider,在ErrorProvider控件中,我们可以使用setIConAdding();以设置要在图标和控件之间添加的像素数 这样我们可以水平移动图标。 如何在垂直方向上执行相同的操作? 我不知道如何扩展或覆盖图标定位。 PS.SetIconAlignment()在某些情况下是不够的。我只需设置图标的自定义本地化。不幸的是,要做到这一点并不容易 通过使用该函数,您可以仅以水平方式定义图标和控件之间的空间,但也允许负值 通过呼叫,您只能将其置于控件的左侧或右侧,而不能置于控件的上方或下方 一个让它工作的方


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

这样我们可以水平移动图标。
如何在垂直方向上执行相同的操作?

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

PS.SetIconAlignment()在某些情况下是不够的。我只需设置图标的自定义本地化。

不幸的是,要做到这一点并不容易

通过使用该函数,您可以仅以水平方式定义图标和控件之间的空间,但也允许负值

通过呼叫,您只能将其置于控件的左侧或右侧,而不能置于控件的上方或下方

一个让它工作的方法是在你需要errorProvider的控件周围放置一个面板,并使其更高和/或更低。现在,您可以在此容器控件上设置提供程序,而不是直接设置该控件。通过为填充应用负值,您可以将闪烁图标移动到所需控件的上方或下方

这是一种黑客行为,但我认为他们没有其他方法可以做到这一点

    +--Panel----------------------+
    |               !             |
    |     +------------------+    |
    |     | ControlWithError |    |
    |     +------------------+    |
    |                             |
    +-----------------------------+
如上所述,在控件上设置ErrorProvider not。将其设置到面板,并将
IconAlignment
设置为
TopLeft
iconadding
设置为负值(例如-50),您的图标将在您的控件上方闪烁。

不幸的是,他们不容易做到这一点

通过使用该函数,您可以仅以水平方式定义图标和控件之间的空间,但也允许负值

通过呼叫,您只能将其置于控件的左侧或右侧,而不能置于控件的上方或下方

一个让它工作的方法是在你需要errorProvider的控件周围放置一个面板,并使其更高和/或更低。现在,您可以在此容器控件上设置提供程序,而不是直接设置该控件。通过为填充应用负值,您可以将闪烁图标移动到所需控件的上方或下方

这是一种黑客行为,但我认为他们没有其他方法可以做到这一点

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

如上所述,在控件上设置ErrorProvider not。将其设置到面板,并将
IconAlignment
设置为
TopLeft
iconadding
设置为负值(例如-50),您的图标在您的控件上方闪烁。

这是一个很好的替代解决方案。非常感谢。在空闲时间我会找到更好的解决方案。这是一个很好的替代方案。非常感谢。在空闲时间我会找到更好的解决办法。