Pergunta

O meu problema é que quando a sub-rotina é executada eu não sei qual botão causou a ser acionado como posso descobrir isso.A variável contagem precisa ser substituído com a excluir o número do botão que foi clicado.Eu não posso ter uma rotina separada para cada botão como eu não sei quantas o usuário precisa ser adicionado ao formulário em cada ocasião.

    Dim delete1 = Sub()
        .Remove(label1(count, 1))
        .Remove(combo1(count, 1))
        .Remove(label1(count, 2))
        .Remove(combo1(count, 2))
        .Remove(label(count, 3))

                 End Sub

    For counter = 1 To count
        AddHandler MyClass.button1(counter).Click, delete1
    Next
Foi útil?

Solução

Você pode obtê-lo a partir do sender argumento:

Private Sub delete1(sender As System.Object, e As System.EventArgs)

    Dim curButton As Button = DirectCast(sender, Button) 'Button you clicked

End Sub

Observe que o código para adicionar a referida função diretamente (sem delegate) é:

AddHandler MyClass.button1(counter).Click, AddressOf delete1
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top