Foros del Web » Programación para mayores de 30 ;) » .NET »

[C#]Cambiar color de botones si..

Estas en el tema de [C#]Cambiar color de botones si.. en el foro de .NET en Foros del Web. amigos, ncesito cambiar de color todos los botones que aparesancan del resultado de una consulta sql en un winform visual studio 2008.... alguna idea de ...
  #1 (permalink)  
Antiguo 05/07/2010, 08:18
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
[C#]Cambiar color de botones si..

amigos, ncesito cambiar de color todos los botones que aparesancan del resultado de una consulta sql en un winform visual studio 2008....
alguna idea de como hacerlo e googleado ene y no se me ocurre nada, soy medio nobato en c#




PD: los botones tienen el mismo name que los resultados probables de la consulta.. ej; si la consulta da como resultado btn1.btn2,bt10
necesito que esos tres botones queden de color rojo....


saludos
  #2 (permalink)  
Antiguo 05/07/2010, 13:08
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 12 años, 5 meses
Puntos: 37
Respuesta: [C#]Cambiar color de botones si..

Hola evikar

- Después del resultado de la consulta trata guardando los nombres de los botones en una Lista de String.

- Con un ciclo recorres esa lista de nombres de los botones que se actualizarán, por ejemplo en vb:

Código vb:
Ver original
  1. For k As Integer = 0 To MiListaNombreBotones.Count - 1
  2.                 Me.Controls(MiListaNombreBotones(k)).BackColor = Color.FromName("control")
  3. Next

De esta forma no recorres todo el Form para comparar cada control con los controles de tu Lista.

Saludos!
  #3 (permalink)  
Antiguo 05/07/2010, 19:40
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: [C#]Cambiar color de botones si..

Cita:
Iniciado por Ka0stj Ver Mensaje
Hola evikar

- Después del resultado de la consulta trata guardando los nombres de los botones en una Lista de String.

- Con un ciclo recorres esa lista de nombres de los botones que se actualizarán, por ejemplo en vb:

Código vb:
Ver original
  1. For k As Integer = 0 To MiListaNombreBotones.Count - 1
  2.                 Me.Controls(MiListaNombreBotones(k)).BackColor = Color.FromName("control")
  3. Next

De esta forma no recorres todo el Form para comparar cada control con los controles de tu Lista.

Saludos!

Gracias, si intento guardar el resultado de consulta en un datasettendre el mismo resultado aplicando la respuesta que me diste...


saludos.
  #4 (permalink)  
Antiguo 05/07/2010, 22:00
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 12 años, 5 meses
Puntos: 37
Respuesta: [C#]Cambiar color de botones si..

De hecho asi lo hago, posteriormente leo la columna del dataset que me interesa y ahi es donde guardo la columna "nombre_boton" en una Lista para finalmente hacer el recorrido de dicha lista para cambiar el color de los botones.
  #5 (permalink)  
Antiguo 06/07/2010, 07:16
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: [C#]Cambiar color de botones si..

Cita:
Iniciado por Ka0stj Ver Mensaje
De hecho asi lo hago, posteriormente leo la columna del dataset que me interesa y ahi es donde guardo la columna "nombre_boton" en una Lista para finalmente hacer el recorrido de dicha lista para cambiar el color de los botones.
ok gracis, y abusando de tus conocimientos me podrias explicar como guardar los datos de la columna en una lista string....



saludos...
  #6 (permalink)  
Antiguo 06/07/2010, 08:32
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 12 años, 5 meses
Puntos: 37
Respuesta: [C#]Cambiar color de botones si..

ok, lo hago de la siguiente manera:

Código vb:
Ver original
  1. Private Function Regresa_Nombres_Botones()
  2.  
  3.         objConn = New SqlConnection(MiConexion.StrConexion)
  4.         Dim m As Integer
  5.         Dim Lista_Nombres As New List(Of String)
  6.  
  7.         Try
  8.             objConn.Open()
  9.  
  10.             'Creo un Adapter
  11.            Dim objAdapter As New SqlDataAdapter(Instrunccion_SQL, objConn)
  12.             'Creo un DataSet
  13.            Dim objDataSet As New DataSet
  14.  
  15.             'Lleno el DataSet con la Tabla
  16.            objAdapter.Fill(objDataSet, Tabla)
  17.            
  18.             'Recorro la tabla para ver que no exista un registro con el mismo nombre
  19.            For m = 0 To objDataSet.Tables(0).Rows.Count - 1
  20.                 Lista_Nombres.Add(objDataSet.Tables(0).Rows(m).Item(2))
  21.             Next
  22.  
  23.         Catch ex As Exception
  24.             MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
  25.             objConn.Close()
  26.         End Try
  27.  
  28.         Return Lista_Nombres
  29.  
  30.     End Function

En este caso del resultado de la consulta me interesa la columna 2 que es la que contiene el nombre de mi botón.

Suerte.
  #7 (permalink)  
Antiguo 06/07/2010, 14:58
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: [C#]Cambiar color de botones si..

Cita:
Iniciado por Ka0stj Ver Mensaje
ok, lo hago de la siguiente manera:

Código vb:
Ver original
  1. Private Function Regresa_Nombres_Botones()
  2.  
  3.         objConn = New SqlConnection(MiConexion.StrConexion)
  4.         Dim m As Integer
  5.         Dim Lista_Nombres As New List(Of String)
  6.  
  7.         Try
  8.             objConn.Open()
  9.  
  10.             'Creo un Adapter
  11.            Dim objAdapter As New SqlDataAdapter(Instrunccion_SQL, objConn)
  12.             'Creo un DataSet
  13.            Dim objDataSet As New DataSet
  14.  
  15.             'Lleno el DataSet con la Tabla
  16.            objAdapter.Fill(objDataSet, Tabla)
  17.            
  18.             'Recorro la tabla para ver que no exista un registro con el mismo nombre
  19.            For m = 0 To objDataSet.Tables(0).Rows.Count - 1
  20.                 Lista_Nombres.Add(objDataSet.Tables(0).Rows(m).Item(2))
  21.             Next
  22.  
  23.         Catch ex As Exception
  24.             MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
  25.             objConn.Close()
  26.         End Try
  27.  
  28.         Return Lista_Nombres
  29.  
  30.     End Function

En este caso del resultado de la consulta me interesa la columna 2 que es la que contiene el nombre de mi botón.

Suerte.
:( uta amigo tengo serios problemas de lenguaje xD me puedes ayudar no entiendo como pasar a c# esto= Dim Lista_Nombres As New List(Of String) y el for

me puedes ayudar...
  #8 (permalink)  
Antiguo 06/07/2010, 21:54
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 12 años, 5 meses
Puntos: 37
Respuesta: [C#]Cambiar color de botones si..

Checa estos links:

http://dotnetperls.com/list
http://www.akadia.com/services/dotnet_generics.html

http://www.es-asp.net/foro/principia...r-dataset.aspx
  #9 (permalink)  
Antiguo 08/09/2010, 16:21
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: [C#]Cambiar color de botones si..

Amigos estoy en la parte final de mi proyecto.

les adjunto un pantallazo de mi aplicacion.




el tema es el siguiente en el textbox ubicacion al momento de precionar un boton de la parte superior me imprime en el textbox en name del boton. el tema es el siguiente cuando presione el boton quiero que cambie de color y al presionar otro boton quiero que vuelva a el color por defecto(color.control)

al presionar un boton que se cambie de color se que es facil button.backcolor = color.red;

pero como puedo hacer que el botton que ya cambio de color vuelva a su color por defecto

el evento Enter (button.backcorlor=color.red) y leave(button.backcolor=color.control) no me sirven porque cuando me muevo a un textbox se produce el evento leave

Tendria que encontrar alguna forma de que los bottones de la parte superior no pertenescan al form y asi el eveto enter y leavel sean parte solamente de ese sector de bottones
  #10 (permalink)  
Antiguo 10/09/2010, 08:26
 
Fecha de Ingreso: febrero-2010
Ubicación: México
Mensajes: 738
Antigüedad: 12 años, 5 meses
Puntos: 37
Respuesta: [C#]Cambiar color de botones si..

Si el botón esta rojo y lo presionas quieres que cambie al color por default? No te entendi muy bien.

Pero lo que se me ocurre es que utilices un ControlArray para guardar los controles tipo botón.

Otra observación, en alguna ocasión tuve alguna necesidad similar a lo que estas intentando hacer pero yo manejaba mucho mas botones que tu por lo tanto mi aplicación era muyyy lenta. Cambie todos los botones por una imagen de todos esos botones para despues crear una matriz con sus respectivas coordenadas (x,y), asi la aplicación es mucho mas rápida.

Etiquetas: botones, color
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:38.