Indice de array de controles

      • 331
      • mensajes
      • miembro desde
      • 22/08/06
    01/03/2010
    #1 Indice de array de controles

    Hola a todos.
    Estoy haceindo un codigo donde cree de forma dinámica un vector de botones, la declaración es del tipo boton(5,5).
    Aclaro que hice todo lo correcto para asignarle eventos, etc.
    El tema es que codifico el evento click sobre cualquier boton y quiero que me devuelva el indice del boton sobre el cual hice click, pero no he podido. Lei por la web pero no encontré mucha cosa, es mas, casi todo lo que lei dice que en .NET no se pueden declarar arrays de controles, pero a mi esto me anda, no se si serán cosas de los visual studio viejos o que, si alguien puede ayudarme desde ya muchas gracias.

    Les dejo el simple codigo mi idea es que en el msg en vez de decir hola me diga el indice de fila columna que toque.

    Código:
    Public Class Form1
        Dim boton(5, 5) As Button
        Public fil As Integer
        Public col As Integer
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            iniciar_grilla()
        End Sub
    
        Private Sub boton_click(ByVal sender As Object, ByVal e As EventArgs)
            MsgBox("h")
        End Sub
        Private Sub iniciar_grilla()
            Dim i, j As Integer
            For i = 0 To 5
                For j = 0 To 5
                    boton(i, j) = New Button
                    boton(i, j).SetBounds(750 + i * 100, 50 + j * 100, 100, 100)
                    boton(i, j).Text = Str(i + 1) & " " & Str(j + 1)
                    Controls.Add(boton(i, j))
                    AddHandler boton(i, j).Click, AddressOf boton_click
                Next
            Next
        End Sub
    End Class
  1. ¿Este tema te pareció interesante? Compártelo!

    ¿No es lo que buscabas? Intenta buscar un tema similar

    5 comentarios / 2832 Visitas

      • 1,378
      • mensajes
      • miembro desde
      • 13/08/07
    01/03/2010
    #2 Re: Indice de array de controles

    Por ahi con un evento que este escuchando los eventos del form y ahi capturas el nombre del boton y la accion a hacer en base a su nombre.
    Es dinamico el metodo...pero termina siendo estatico. Que queres hacer realmente?

    Slds

      • 331
      • mensajes
      • miembro desde
      • 22/08/06
    01/03/2010
    #3 Re: Indice de array de controles

    Si, pero ese es el tema, que no se capturar el nombre, a mi me interesa el tema de los indices porque quiero que los que están a los lados de este tambien hagan algo en relación al pulsado.

      • 1,378
      • mensajes
      • miembro desde
      • 13/08/07
    02/03/2010
    #4 Re: Indice de array de controles

    En el evento que dejas escuchando las modificaciones que hay en el form tenes que añadirle algun msj donde te muestre el valor de "ByVal sender As Object, ByVal e As EventArgs". Fijate que valores et devuelven esas dos variables, por ahi es la posicion relativa de los botones, por ahi el color en hexadecimal, etc.

    Slds

      • 167
      • mensajes
      • miembro desde
      • 13/08/02
    02/03/2010
    #5 Re: Indice de array de controles

    Que sentido tiene esto? cual es el objetivo final del codigo o solo es un ejercicio academico? porque estas complicandote me parece. Saludos

      • 331
      • mensajes
      • miembro desde
      • 22/08/06
    03/03/2010
    #6 Re: Indice de array de controles

    En realidad estoy tratando de aprender y la idea es que cuando yo hago clic en un boton de la matriz los botones de arriba, abajo, derecha e izquierda del que toque cambien su color de fondo segun un numero aleatorio que creo.
    La verdad lo que se me ocurrió es hacer una matriz y saber el indice del boton sobre el cual se hizo clic para poder saber cual va a ser el de la izq, der, etc