我想在验证失败后更改TextBoxes边框颜色,但我不想通过Paint事件来完成它。
我有一个类Validators
,以及验证文本框的方法。
例如:
public bool ValidateDecimalTextBoxes(params TextBox[] textBoxes)
{
//Validates decimal textboxes.
//If the textbox is not a decimal value, its bordercolor should turn red.
}
我不知道该怎么做。请帮忙吗?
答案 0 :(得分:0)
只需将其放在比文本框稍大的面板上,然后设置文本框的背景颜色。
答案 1 :(得分:0)
试试这个
致电
Validators Validate =new Validators();
Validate.ValidateDecimalTextBoxes(textBoxes,this);
验证者类中的
public bool ValidateDecimalTextBoxes(TextBox[] textBoxes,Form v)
{
Graphics g =v.CreateGraphics();
foreach (TextBox txt in textBoxes)
{
if (!isdecimal(txt)){
System.Drawing.Rectangle rect = new Rectangle(txt.Location.X, txt.Location.Y+2,
txt.ClientSize.Width+4, txt.ClientSize.Height);
rect.Inflate(1, 3);
System.Windows.Forms.ControlPaint.DrawBorder(g,rect, Color.Red, ButtonBorderStyle.Solid);
}
}
return true;
}
我认为您已创建 isdecimal 功能