自定义 WinForms ErrorProvider 以在控件条目中显示其图标

Posted

技术标签:

【中文标题】自定义 WinForms ErrorProvider 以在控件条目中显示其图标【英文标题】:Customizing WinForms ErrorProvider to display its icon inside control's entry 【发布时间】:2010-11-11 03:52:07 【问题描述】:

我有一些自定义/用户控件,在大多数情况下都有标签和条目,如下所示:

删除了无效的 ImageShack 链接

有什么方法可以自定义标准 WinForms ErrorProvider 以在条目中显示其图标(条目 - 文本框、组合、日期时间等...),如下所示:

删除了无效的 ImageShack 链接

红色圆圈当然是错误指示器。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

我找到了解决办法:

this.errorProvider.SetIconPadding(this.textBox, -20);

其中 errorProvider 是一个 ErrorProvider 对象,而 textBox 是一个 Entry 对象。

【讨论】:

不确定这有多好,但对我来说,神奇数字的一个可能解决方案是:errorProvider.Icon.Width + textBox.Bounds.Width - textBox.ClientRectangle.Width。当然,图标大小应该适合textBox.Height,但通常是这种情况(16x16 图标,textBox 默认高度为 20)

以上是关于自定义 WinForms ErrorProvider 以在控件条目中显示其图标的主要内容,如果未能解决你的问题,请参考以下文章

Winforms:在设计器中创建对象并对其进行自定义

添加列的自定义 WinForms DataGridView 问题

如何使用winforms创建自定义热键

WinForms 应用程序中的自定义标题栏/镶边

使用自定义 WinForms 控件,我可以更改嵌套控件停靠在里面的矩形吗?

自定义 WinForms ErrorProvider 以在控件条目中显示其图标