我想验证用户的输入,我想通过更改标准Windows Forms TextBox控件的背景颜色来通知他/她有关验证错误。
但是我不想立即改变颜色,而是想使用褪色效果。
有没有简单的方法呢?
编辑: 我也可以访问Infragistics控件,我不确定它是否有任何区别。
答案 0 :(得分:2)
假设这是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时,这将是全红色。