Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2017, 09:14
Avatar de aniMAYtions
aniMAYtions
 
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
Colorear un control después de la validación

Hola amig@s!

Estoy realizando una aplicación con muchos formularios muy distintos en C#. Y se me ha ocurrido crear una clase que contenga todos los métodos para validar cualquier campo de cada formulario, incluso utilizando expresiones regulares para dni, correo, etc...
Bueno, rizando un poco el rizo, también me gustaría que si un campo no pasa la validación, dicho campo(siendo textbox o combobox, o label para radiobutton o checkbox) cambiase de color(la letra en los labels y el borde de los textbox o combobox).
Por lo que veo no es tan sencillo, además de que aún no domino C#.

Cogiendo trozos de funciones que encuentro por la red he llegado al siguiente código:
Código C#:
Ver original
  1. //para los textbox
  2. private void Form1_Paint(TextBox nomControl)
  3. {
  4.     nomControl.BorderStyle  = BorderStyle.None;
  5.     Pen p = new Pen(Color.Red);
  6.     Graphics g = //....aquí me he quedado porque en la función original se usaba
  7. //un PaintEventArgs e como argumento y la línea de instrucción seguía ...e.Graphics.
  8. //luego continúa...
  9.     int variance = 3;
  10.     g.DrawRectangle(p, new Rectangle(nomControl.Location.X - variance, nomControl.Location.Y - variance, nomControl.With + variance, nomControl.Height + variance));
  11. }

Vamos, que de lo único de lo que realmente me entero es de que le he pasado el control y que creo que no debe ser tan difícil...

Alguien me puede decir si voy por buen camino y qué es lo que me falta??

Saludos!!