Как создать динамическое событие нажатия кнопки на динамической кнопке?
Я создаю одну кнопку на странице динамически. Теперь я хочу использовать кнопку нажатия кнопки на этой кнопке.
Как это сделать на C # ASP.NET?
- Как создать событие через reflection в .NET / C #?
- Разве обработчики событий останавливают garbage collection?
- Как я могу обработать обработчик одного события ALL Button.Click?
- Назначьте функцию VBA с нажатием кнопки динамически созданной кнопки в Excel Userform
- Как я могу подписаться на несколько кнопок на один и тот же обработчик событий и действовать в соответствии с тем, какая кнопка была нажата?
- Как можно удалить все обработчики событий события «Click» кнопки «Button»?
- Понимание событий и обработчиков событий в C #
- Сбор мусора при использовании анонимных делегатов для обработки событий
- Как обрабатывать событие нажатия клавиши в консольном приложении
- Как использовать GWT EventBus
- jQuery 1.8 найти обработчики событий
- Глобальный обработчик событий мыши
- Пользовательский прослушиватель событий в приложении для Android
Button button = new Button(); button.Click += (s,e) => { your code; }; //button.Click += new EventHandler(button_Click); container.Controls.Add(button); //protected void button_Click (object sender, EventArgs e) { }
Легче для новичков:
Button button = new Button(); button.Click += new EventHandler(button_Click); protected void button_Click (object sender, EventArgs e) { Button button = sender as Button; // identify which button was clicked and perform necessary actions }
Просто добавьте обработчик событий к кнопке при ее создании.
button.Click += new EventHandler(this.button_Click); void button_Click(object sender, System.EventArgs e) { //your stuff... }
Это намного проще сделать:
Button button = new Button(); button.Click += delegate { // Your code };
Допустим, у вас есть 25 объектов и вы хотите, чтобы один процесс обрабатывал событие с одним объектом. Вы можете написать 25 делегатов или использовать цикл для обработки события click.
public form1() { foreach (Panel pl in Container.Components) { pl.Click += Panel_Click; } } private void Panel_Click(object sender, EventArgs e) { // Process the panel clicks here int index = Panels.FindIndex(a => a == sender); ... }