更改文本框的边框颜色

时间:2013-05-26 18:17:06

标签: c#

我想在验证失败后更改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.
}

我不知道该怎么做。请帮忙吗?

2 个答案:

答案 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 功能