【发布时间】:2011-11-02 13:59:23
【问题描述】:
在 ErrorProvider 控件中我们可以使用 SetIconPadding();为了设置在图标和控件之间添加的像素数。
这样我们就可以水平移动图标了。
如何做到相同但垂直?
我不知道如何扩展或覆盖图标定位。
PS。 SetIconAlignment() 在某些情况下是不够的。我只需要设置图标的自定义本地化。
【问题讨论】:
标签: c# .net winforms padding errorprovider
在 ErrorProvider 控件中我们可以使用 SetIconPadding();为了设置在图标和控件之间添加的像素数。
这样我们就可以水平移动图标了。
如何做到相同但垂直?
我不知道如何扩展或覆盖图标定位。
PS。 SetIconAlignment() 在某些情况下是不够的。我只需要设置图标的自定义本地化。
【问题讨论】:
标签: c# .net winforms padding errorprovider
不幸的是,他们没有简单的方法来做到这一点。
通过使用SetIconPadding()函数,你可以定义图标和控件之间的间距只能是水平的,但也允许负值。
通过调用SetIconAlignment(),您只能将其放在控件的左侧或右侧,但不能放在其上方或下方。
要使其正常工作的一个技巧是在您需要 errorProvider 的控件周围放置一个面板,并使其更高和/或更低。现在,您可以在此容器控件上设置提供程序,而不是直接在该控件上设置提供程序,并通过为填充应用负值,您可以将闪烁的图标移动到您喜欢的控件上方或下方。
这有点骇人听闻,但我认为他们没有其他办法。
+--Panel----------------------+
| ! |
| +------------------+ |
| | ControlWithError | |
| +------------------+ |
| |
+-----------------------------+
如上所见,设置ErrorProvider不在控件上。将其设置到面板并将IconAlignment 设置为TopLeft 和IconPadding 为某个负值(例如-50),然后您的图标在您想要的控件上方闪烁。
【讨论】: