Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - José Antonio

Páginas: [1]
1
Hola Ogramar:
Gracias a tí. La solución empezó por tu primera aportación, luego yo la finalicé.
Lo normal en un foro es recibir y aportar. Esa es mi manera de ver un foro, por eso aporto mi granito, espero que sirva. Para mí las matrices de controles me parecen muy útiles y las quería resolver. Creo que ahora ya está resuelto.
Un saludo

2
Hola Ogramar:

Conseguido. :) :) :)
Coloco los cambios aquí, son sólo dos líneas a cambiar.

        Dim buttonarray = CType(sender, Button)
        j = buttonarray.text

Donde aparecía el comentario (Eliminar y sustituir por las dos líneas anteriores)

        'Capturar el valor del Button pulsado
        j = buttonarray(TabIndex + 5).Text
        ' Siempre me da valor del número que va detrás de (TabIndex + X), no del Button pulsado

3
Hola Ogramar:
Gracias por tu respuesta, me ha servido bastante, ya casi funciona.
Me falta el detalle de capturar el Button pulsado.
Te adjunto el código.
Código: [Seleccionar]
Public Class TablaMultiplicar
    Dim labelarray(10) As Label
    Dim labelarray1(10) As Label
    Dim buttonarray(10) As Button
    Dim i, j As Integer
    Private Sub TablaMultiplicar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Width = 290
        Me.Height = 500
        For i = 1 To 10
            labelarray(i) = New Label
            labelarray(i).BorderStyle = BorderStyle.Fixed3D
            labelarray(i).Font = New Font("Arial", 10, FontStyle.Bold)
            labelarray(i).Width = 40
            labelarray(i).Height = 20
            labelarray(i).Location = New Point(200, i * 36 + 19)
            labelarray(i).ForeColor = Color.Red
            labelarray(i).BackColor = Color.Cyan
            labelarray(i).TextAlign = ContentAlignment.MiddleCenter
            Me.Controls.Add(labelarray(i))

            labelarray1(i) = New Label
            labelarray1(i).Font = New Font("Arial", 10, FontStyle.Bold)
            labelarray1(i).Width = 35
            labelarray1(i).Height = 20
            labelarray1(i).Location = New Point(120, i * 36 + 19)
            labelarray1(i).ForeColor = Color.Black
            labelarray1(i).BackColor = Color.DarkGray
            labelarray1(i).TextAlign = ContentAlignment.MiddleCenter
            labelarray1(i).Text = "x" & i
            Me.Controls.Add(labelarray1(i))

            buttonarray(i) = New Button
            buttonarray(i).Font = New Font("Arial", 10, FontStyle.Bold)
            buttonarray(i).Width = 40
            buttonarray(i).Height = 25
            buttonarray(i).Location = New Point(40, 19 + i * 36)
            buttonarray(i).ForeColor = Color.Aquamarine
            buttonarray(i).BackColor = Color.Blue
            buttonarray(i).TextAlign = ContentAlignment.MiddleCenter
            buttonarray(i).Text = i
            Me.Controls.Add(buttonarray(i))
            AddHandler buttonarray(i).Click, AddressOf All_Buttons_Clicked
        Next i
    End Sub
    Private Sub All_Buttons_Clicked(ByVal sender As System.Object, ByVal e As System.EventArgs)

        'Capturar el valor del Button pulsado
        j = buttonarray(TabIndex + 5).Text
        ' Siempre me da valor del número que va detrás de (TabIndex + X), no del Button pulsado

        Label1.Text = "Tabla del......" & j
        For i = 1 To 10
            labelarray(i).Text = i * j
        Next i
        ' El resto funciona
    End Sub
    Private Sub Finalizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Finalizar.Click
        End
    End Sub
End Class

4
Hola Ogramar:
En primer lugar gracias por contestar.
Sobre colocar código, tienes razón. Había leido la forma de hacerlo, pero cuando lo fuí a hacer habían pasado unos días y no lo recordaba, en ese momento. Por no dar marcha atrás lo puse así. Lo siento, para la próxima espero que no suceda.
Con respecto al problema sigo diciendo lo mismo, en ese tutorial que me indicas explica cómo crear la matriz. Mi pregunta es ¿Cómo programo el evento Click? eso no lo veo en el tutorial. En VB6.0 era muy fácil en 2005 llevo días intentando casi todo y no doy con la solución.

Un saludo

5
He seguido los pasos del tutorial y he creado una matriz de controles (Button). En VB 6.0 era sencillo programar, por ejemplo, el evento Click, pero en VB2005 con lo que estoy ahora no veo la forma. En modo Diseño no deja crear la matriz de controles. ¿Cómo se puede hacer, para programar eventos?.

Añado el código.

Código: [Seleccionar]
Public Class Prueba
    Dim buttonarray(10) As Button
    Dim i, j As Integer
Private Sub Prueba_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Width = 290
        Me.Height = 500
        For i = 1 To 10
            buttonarray(i) = New Button
            buttonarray(i).Font = New Font("Arial", 10, FontStyle.Bold)
            buttonarray(i).Width = 40
            buttonarray(i).Height = 25
            buttonarray(i).Location = New Point(40, 19 + i * 36)
            buttonarray(i).ForeColor = Color.Aquamarine
            buttonarray(i).BackColor = Color.Blue
            buttonarray(i).TextAlign = ContentAlignment.MiddleCenter
            buttonarray(i).Text = i
            Me.Controls.Add(buttonarray(i))
        Next i
End Sub
[b]Private Sub buttonarray_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        j = buttonarray(TabIndex).Text
        Label1.Text = "Has pulsado el Button......" & j
Resto del código
End Sub[/b]

Private Sub Finalizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Finalizar.Click
        End
End Sub
End Class

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".