在ErrorProvider中填充顶部和底部

时间:2011-08-24 07:51:49

标签: c# .net winforms padding errorprovider


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

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

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

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

1 个答案:

答案 0 :(得分:6)

不幸的是,他们没有简单的方式来做到这一点。

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

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

让这个工作起作用的黑客就是在控件上放置一个面板,你需要使用errorProvider并使其更高和/或更低。现在,您可以直接在此容器控件上设置提供程序而不是意味着控件,并且通过为填充应用负值,您可以将闪烁图标移动到您喜欢的控件上方或下方。

这是某种hackish,但我认为他们没有别的办法。

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

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