2013-11-07 2 views
0

Моя проблема заключается в том, что при запуске подпрограммы я не знаю, какая кнопка запустила ее, как я могу ее найти. Счетчик переменных нужно заменить на номер кнопки удаления, который был нажат. У меня нет отдельной подпрограммы для каждой кнопки, поскольку я не знаю, сколько пользователей нужно добавлять в форму в каждый момент.Имя объекта этой подпрограммы с использованием add handler

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 

ответ

3

Вы можете получить его от sender аргумента:

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

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

End Sub 

Обратите внимание, что код для добавления вышеупомянутой функции непосредственно (без delegate) является:

AddHandler MyClass.button1(counter).Click, AddressOf delete1