Visual Basic.NET - Extraer datos del nombre de control

 
Vista:
sin imagen de perfil

Extraer datos del nombre de control

Publicado por JAVIER (15 intervenciones) el 26/03/2023 19:31:34
Buenas tarde
De nuevo solicito vuestra ayuda
Necesito extraer el número de botón (en este caso es image) que se ha utilizado
Este es el código que tengo y me da error en la propiedad right

1
2
3
4
5
Private Sub pictEliminar_Click(sender As Object, e As EventArgs) Handles pictEliminar1.Click, pictEliminar2.Click, pictEliminar3.Click, pictEliminar4.Click
        Dim ctrl As Control = DirectCast(sender, Control)
        Dim ctrlnombre As String = ctrl.Name
        Dim numControl As String = Right(ctrlnombre, 1)
    End Sub

Gracias por vuestra ayuda y comprensión a los novatos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Extraer datos del nombre de control

Publicado por Phil Rob (1554 intervenciones) el 26/03/2023 22:12:48
Hola,

Reemplazas Right por SubString.

1
2
3
4
5
Private Sub pictEliminar_Click(sender As Object, e As EventArgs) Handles pictEliminar1.Click, pictEliminar2.Click, pictEliminar3.Click, pictEliminar4.Click
        Dim ctrl As Control = DirectCast(sender, Control)
        Dim ctrlnombre As String = ctrl.Name
        Dim numControl As String = ctrlnombre.Substring(ctrlnombre.Name.Length - 1, 1)
    End Sub

Cuando ctrl siempre es Button, el código siguiente es bien :

1
2
3
4
5
Private Sub pictEliminar_Click(sender As Object, e As EventArgs) Handles pictEliminar1.Click, pictEliminar2.Click, pictEliminar3.Click, pictEliminar4.Click
        Dim ctrl As Button = CType(sender, Button)
        Dim ctrlnombre As String = ctrl.Name
        Dim numControl As String = ctrlnombre.Substring(ctrlnombre.Name.Length - 1, 1)
    End Sub

También puedes saber que para elegir el trabajo a hacer según el Button, es posible de escribir :

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub pictEliminar_Click(sender As Object, e As EventArgs) Handles pictEliminar1.Click, pictEliminar2.Click, pictEliminar3.Click, pictEliminar4.Click
Select Case sender.Name
Case "pictEliminar1"
' Aqui el trabajo hacer en el caso 1
Case "pictEliminar2"
' Aqui el trabajo hacer en el caso 2
Case "pictEliminar3"
' Aqui el trabajo hacer en el caso 3
Case "pictEliminar4"
' Aqui el trabajo hacer en el caso 4
End Select
    End Sub

Buenas noches ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar