2010-01-28 2 views

ответ

10
// No "sender" or event args 
public void button2_click(object sender, EventArgs e) 
{ 
    button1_click(null, null); 
} 

или

// Button2's the sender and event args 
public void button2_click(object sender, EventArgs e) 
{ 
    button1_click(sender, e); 
} 

или как Джоэл отметил:

// Button1's the sender and Button2's event args 
public void button2_click(object sender, EventArgs e) 
{ 
    button1_click(this.button1, e); 
} 
+0

Или, если вы хотите button1 быть «отправитель» Button1_Click (this.button1, е); –

2

Вы можете подключить до событий кнопки в коде файла ASPX.

Кнопка Тег телеграфировать события так:

<asp:Button Text="Button1" OnClick="Event_handler_name1" /> 
<asp:Button Text="Button2" OnClick="Event_handler_name1" /> 

Просто телеграфировать OnClick = в ваш метод обработчика для button1

3

Вы не упоминаете ли это для Windows Forms, ASP.NET , или WPF. Если это Windows Forms, другое предложение - использовать кнопку2. PerformClick() способ. Я считаю, что это «чище», поскольку вы не вызываете непосредственно обработчик событий.

11

Как мне вызвать метод button1_click с кнопки2_click? Является ли это возможным?

Его полностью можно вызвать событие нажатия кнопки, но его плохая практика. Переместите код с вашей кнопки в отдельный метод. Например:

protected void btnDelete_OnClick(object sender, EventArgs e) 
{ 
    DeleteItem(); 
} 

private void DeleteItem() 
{ 
    // your code here 
} 

Эта стратегия позволяет легко вызвать ваш код напрямую, не вызывая никаких обработчиков событий. Кроме того, если вам нужно вытащить код из своего кода позади и в отдельный класс или DLL, вы уже на два шага впереди себя.

2

Вы можете связать один обработчик для события обеих кнопок

Смежные вопросы