Мне бы хотелось использовать функцию с параметрами в окне свойств с списком событий. этот четный список справа от его визуальной студии допускает только некоторые функции с отправителем объектов и eventargs e и не отображает пользовательскую функцию с параметрами. Это общее поведение или я должен искать ошибку?Могу ли я передать значения функции обработки событий?
ответ
Вы можете просто использовать кнопку CommandArgument
вашей кнопки.
yourButton.Click += new EventHandler(yourButton_Click); yourButton.CommandArgument = "your parameters";
и в методе обработчика событий необходимо выполнить следующие действия:
string yourParameters = (sender as Button).CommandArgument.ToString()
Надеется, что это помогает.
Написать потомок EventArgs.
например.
public class MyEventArgs: EventArgs {
public MyEventArgs(string arg1, int arg2) {
this.MyValue = arg1;
this.MyNumber = arg2;
}
public string MyValue;
public int MyNumber;
}
Nows Это нормально параметр для EventHandler, когда вы пишете один е, будет иметь MyValue и MyNumber свойствами.
Button.Click
определяется как есть, и нет способа изменить его. Однако
yourButton.Click += delegate { YourButton_click(1); }
выполнит эту работу.
Вы можете регистрировать обработчики только на событии, которое соответствует объявлению события (подпись делегата).
Если вы хотите использовать заранее определенные события и Dont создать свой собственный, вы должны следовать за подписью обработчик события
Правильный способ использования событий в .Net заключается в следующем:
- использовать делегат с именем, которое заканчивается
EventHandler
- этот делегат имеет ровно два параметра,
sender
иe
.sender
должен иметь типobject
и должен содержать ссылку на экземпляр класса, который поднял событие.e
должен иметь тип, который наследуется отEventArgs
(частоEventArgs
).e
- это экземпляр, содержащий данные события.
Вы не должны ожидать, что найдете какую-либо другую подпись обработчика событий, это всегда (object sender, XXXEventArgs e)
.
Обратите внимание, что когда вы поднимаете события и не должны передавать данные о событиях, следует использовать EventArgs.Empty
.
public delegate void MyEventHandler(object sender, EventArgs e);
public event MyEventHandler MyEvent;
public void OnMyEvent()
{
if (this.MyEvent != null)
{
this.MyEvent(this, EventArgs.Empty);
}
}
- 1. Могу ли я использовать обещание/а для обработки событий?
- 2. Могу ли я использовать сервис для обработки событий касания?
- 3. В случае обработки событий он способен передать это другой функции?
- 4. Могу ли я передать больше аргументов в функции обработчика событий в Javascript?
- 5. Могу ли я временно переопределить прослушиватель событий?
- 6. Как я могу передать функции поднятому R.divide?
- 7. Могу ли я передать список IntegerField?
- 8. Могу ли я передать имя функции в качестве аргумента?
- 9. Могу ли я передать дополнительные параметры функции JavaScript map() callback?
- 10. Могу ли я передать значение из функции javascript?
- 11. Могу ли я передать ссылку с одной функции на другую
- 12. Могу ли я объявить и передать объект функции в PHP?
- 13. Могу ли я передать порт IO в качестве параметра функции?
- 14. Могу ли я передать два аргумента функции адаптера Worklight onSuccess?
- 15. Могу ли я передать объект Connection в функции?
- 16. Могу ли я передать произвольный блок команд функции bash?
- 17. Могу ли я передать массив функции, используя конструкцию ... rest *?
- 18. Могу ли я передать указатель на себя в функции?
- 19. Могу ли я передать параметр в функции генератора ES6
- 20. Могу ли я передать эту функцию другой функции в Javascript?
- 21. Могу ли я передать ассоциативный массив PHP функции ComVisible .NET?
- 22. Могу ли я передать переменную textarea id функции JavaScript?
- 23. Могу ли я передать аргументы функции Powershell Unix Way?
- 24. Могу ли я передать auto_ptr ссылкой на функции?
- 25. Могу ли я передать результат назначения функции в C++?
- 26. Идеи обработки событий
- 27. Могу ли я передать список os.getenv()?
- 28. Могу ли я передать параметр, как ссылка
- 29. Как я могу проверить код обработки событий pushsubscriptionchange?
- 30. Как я могу передать контроллер функции
Работает ли ваше мероприятие при привязке к нему? –
Вы можете установить параметры в пользовательских событиях (унаследованных от EventArgs) как e. –