Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/01/2009, 10:31
nephilim2612
 
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid, España
Mensajes: 149
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: OnPaint ¿como modificar el color de borde de datagridview?- WindowsForms

Cita:
Iniciado por robertgustavo Ver Mensaje
hola, soy programador en .NET C# y vb, manejo bastante lo que son bases de datos, y otrsas cosas. Pero nunca he tratado de Crear y modificar Controles.
En esta oportunidad he querido cambiar el colo de borde de un datagridview.
Este componentes trae 3 tipos de borde=
__________________________________________________ _______________
BorderStyle.None
BorderStyle.FixedSingle
BorderStyle.Fixed3D

normalmente uso el Fixed3D, pero no trae alguna propiedad para cambiar el color de borde, que es azul creo.
Segun lo que he leido , los componentes traen el evento OnPaint.
¿De que forma puede acceder a este evento y modificar el color de borde de este control ?
y disculpen si no hay coherencia en lo que trato de explicarles.
SALUDOS.
Hola,

No te puedo dar una respuesta 100% segura del tipo "Sí" o "No", pero he trabajado bastante tiempo con controles y alguna vez quise hacer algo así. La instancia de PaintEventArgs que te viene en el evento Paint del DataGridView trae un objeto Graphics, que, a su vez, tiene información sobre el área ocupada por el control, etc...el tema partiría por sobreescribir el método paint de modo que tu utilizases ese objeto Graphics para dibujar el borde a través de los métodos Draw que posee. Esos métodos Draw reciben un parámetro del tipo Pen que te permite especificar el color de lo que quieres dibujar.

Supongo que la idea pasaría por llamar al método estandar que dibuja el control y luego dibujar tú un rectángulo con el color y aspecto deseado.

Si finalmente consigues hacer esto, te agradecería que posteases cómo lo conseguistes :)

Un saludo