Когда я создаю кнопки в c#, он создает частную пустую кнопку? _click (возражают отправителю, EventArgs e), метод также.
Как я называю button1_click метод от button2_click? Действительно ли это возможно?
Я работаю с формами окон.
// 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);
}
Как позвонить методу Button1_Click от button2_click? Возможно, это возможно?
Вполне возможно, чтобы вызвать событие клика кнопки, но она плохая практика. Переместите код из вашей кнопки в отдельный метод. Например:
protected void btnDelete_OnClick(object sender, EventArgs e)
{
DeleteItem();
}
private void DeleteItem()
{
// your code here
}
Эта стратегия позволяет вам легко позвонить в свой код непосредственно без необходимости вызывать какие-либо обработчики событий. Кроме того, если вам нужно вытащить свой код из кода позади и в отдельный класс или DLL, вы уже два шага впереди.
Вы можете связать тот же обработчик для события обеих кнопок
Вы не упоминаете, является ли это Windows Forms, ASP.NET или WPF. Если это Windows Forms, другим предложением будет использование кнопки2. PerformClick() method. Я нахожу это "более чистым", так как вы не вызываете обработчик событий напрямую.
Вы можете связать события кнопок в коде файла ASPX.
Тег кнопки будет связывать события следующим образом:
<asp:Button Text="Button1" OnClick="Event_handler_name1" />
<asp:Button Text="Button2" OnClick="Event_handler_name1" />
Просто подключите OnClick = к методу обработчика для button1