【发布时间】:2010-11-11 08:44:21
【问题描述】:
我想验证用户的输入,并且我想通知他/她关于更改标准Windows Forms TextBox 控件的背景颜色的验证错误。
但我不想立即改变颜色,而是想使用褪色效果。
有什么简单的方法吗?
编辑: 我还可以访问 Infragistics 控件,我不确定它是否有任何区别。
【问题讨论】:
标签: winforms colors textbox fade effect
我想验证用户的输入,并且我想通知他/她关于更改标准Windows Forms TextBox 控件的背景颜色的验证错误。
但我不想立即改变颜色,而是想使用褪色效果。
有什么简单的方法吗?
编辑: 我还可以访问 Infragistics 控件,我不确定它是否有任何区别。
【问题讨论】:
标签: winforms colors textbox fade effect
假设这是 C#/.NET,创建您自己的用户控件是解决此问题的合适方法。您的控件不应继承自 UserControl,而应继承自 TextBox - 这将使您的控件看起来和行为就像普通的 TextBox,并且您可以添加代码来处理淡入淡出效果:
public partial class MyCustomTextbox : Textbox
{
}
要进行淡入淡出,您必须创建某种计时器来逐步更改BackColor,其功能如下:
function FadeBackground(float progress)
{
Color color = Color.FromArgb(255, (int)((1 - progress) * 255),
(int)((1 - progress) * 255));
base.BackColor = color;
}
当参数progress = 0 时,这将产生白色背景,而当progress = 1 时,这将产生全红色。
【讨论】: