Shell 26-01-2023, 13:00
Buenas!.

¿ Habéis podido usar esos métodos ?.

Supongamos que tengo un formulario con distintos controles y uno de ellos tiene el foco. ( A lo mejor no es necesario ).
Y por un momento "he creido" que podría ser posible con esos métodos acceder al control siguiente y al anterior al que
de alguna forma esta seleccionado, tiene el foco, digo yo que será de alguna forma.

La ayuda de Gambas dice que: ( Todos esos métodos pertenecen a la clase control ).

Next : Devuelve el próximo control que tiene el mismo padre
Previous: Devuelve el control anterior que tiene el mismo padre.

Si tengo un formulario con tres botones ( sin más)

Y escribo algo como esto:

Código:
  Print Me.Next

Me.Next es nulo.
¿ Qué puedo haber hecho mal ?.
¿ Cómo puedo usar esos dos métodos ?.

Ey, esto si devuelve algo.

Código:
 Print Button1.Next.Name

Devuelve Button2

Ostras.

Y es que en ese código no se habla del padre de los controles.

Distinto sería que usase esto:

Código:
 Print Button1.Previous.Name

Devolviendo Objeto nulo

¿ Esto se remonta a la jerarquía de controles del formulario o a controles que son de la misma clase ?.

Ya que podía haber añadido después de boton1, textbox1.

Saludos
Shell 25-01-2023, 22:19
Buenas!.

Cuando tenemos un control le podemos dar una serie de propiedades.
Si tomamos ese control y lo copiamos , su copia debería tener propiedades con valores iguales al original.

Si es boton1, le damos propiedades, al copiar y pegar este, se crea boton2 y tendrán las mismas propiedades.

Ahora os cuento el problema.

Selecciono ambos botones y asigno un nombre al grupo de controles.
Solo me asigna el nombre del grupo a un solo botón, no a los dos.

Una forma posible es que cuando se crea el primer control, le asignamos el nombre del grupo,
copiamos, pegamos y su copia tiene en la propiedad de grupo, el mismo nombre.

La primera forma no hubiera sido una mala opción.

Saludos
Shell 25-01-2023, 00:49
Buenas!.

Se trata de que todas las cajas de texto tenga el mismo texto en todas.  En este caso el de la etiqueta.

[Imagen: loPqxRJ.png]

Si varía una sola letra, ya no es el mismo contenido y no se muestra la etiqueta inferior.

[Imagen: xsWarVr.png]

Código:
' Gambas class file

'Se pretende que todas las cajas de texto contenga la misma cadena que la etiqueta
'Sin importar el número de cajas de texto que se use

Const NUMCAJASDETEXTO As Integer = 3
Const TEXTO As String = "prueba"

Private cajas As New Integer[]
Private etiqueta1 As Label
Private etiqueta2 As Label
Private cajadetexto As TextBox

Public Sub Form_Open()

  With Me
    .Arrangement = Arrange.Vertical
    .Width = 200
    .Spacing = True
    .Margin = True
    .AutoResize = True
  End With

  etiqueta1 = New Label(Me)
  With etiqueta1
    .Font = Font["Arial, 24, Bold"]
    .Alignment = Align.Center
    .Text = TEXTO
    .H = 50
    .W = 150
  End With

  For j As Integer = 0 To NUMCAJASDETEXTO - 1
    cajadetexto = New TextBox(Me) As "Manipula"
    With cajadetexto
      .Font = Font["Arial, 18, Bold"]
      .Alignment = Align.Center
      .H = 50
      .w = 150
      .Tag = j
    End With
  Next

  etiqueta2 = New Label(Me)
  With etiqueta2
    .Font = Font["Arial, 20, Bold"]
    .Alignment = Align.Center
    .Text = ""
    .H = 50
    .W = 150
  End With

End

Public Sub Manipula_Change()

  Dim ocajadetexto As Object

  'Comprueba cada cambio en las cajas de texto

  For Each ocajadetexto In Me.Controls
    If ocajadetexto Is TextBox Then
      If Last.text = etiqueta1.Text Then
        If cajas.Find(Last.tag) = -1 Then cajas.Add(Last.tag)
        If cajas.Count = NUMCAJASDETEXTO Then
          etiqueta2.text = "Son iguales"
        Else
          etiqueta2.Text = ""
        Endif
      Else
        etiqueta2.Text = ""
      Endif
    Endif
  Next

End

Public Sub Manipula_KeyPress()

  'Comprueba si se ha pulsado la tecla de retroceso o borrar
  If Key.code = Key.Backspace Or Key.Code = Key.Delete Then
    'Si el tag de la caja de texto donde se escribe se encuentra en cajas
    If cajas.Find(Last.tag) <> -1 Then
      'Elimina el tag de cajas
      cajas.Remove(cajas.Find(Last.tag))
      'Limpia el contenido de la etiqueta2
      etiqueta2.Text = ""
    Endif
  Endif

End

Saludos
Archivos adjuntos
.gz
CajasDeTextoEventoChange-0.0.1.tar.gz (Tamaño: 12.49 KB Descargas: 1)
Páginas (564):    1 223 224 225 226 227 564   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 292
Último miembro: Nicls_key
Temas del foro: 1,742
Mensajes del foro: 9,027
Últimos temas
Ordenar en un TableView
Foro: General
Último mensaje por: Harpo, Hace 2 horas
Respuestas: 1 - Vistas: 45
Odio a gb.Report
Foro: General
Último mensaje por: guizans, Ayer, 13:36
Respuestas: 9 - Vistas: 1,511
Reportes de Gambas
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: Alberto59, 27-10-2025, 16:34
Respuestas: 2 - Vistas: 1,319
Ordenando las carpetas
Foro: Programación en otros lenguajes
Último mensaje por: tercoide, 22-10-2025, 15:57
Respuestas: 0 - Vistas: 101
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.