Привязка события к кнопке WinForms
При попытке привязать событие к кнопке button1 появляется следующая ошибка. Ругается на эту строчку: this.button1.Click += new System.EventHandler(this.button1_Click_1); метод '''private void button1_Click_1(object sender, EventArgs e)''' объявлен в отдельном классе. подскажите, пожалуйста, как правильно привязать событие.
private void button1_Click_1(object sender, EventArgs e)
{
if (listBox1.SelectedIndex == listBox1.Items.Count - 1)
{
Record record = new Record();
record.Name =textBox1.Text;
record.Fam = textBox2.Text;
record.Phone = textBox3.Text;
records.Add(record);
}
SaveToFile();
FillListBox();
}
Ответы (2 шт):
public class OtdelnyjKlass {
...
public void button1_Click_1(object sender, EventArgs e) {
}
}
OtdelnyjKlass ok = new OtdelnyjKlass();
this.button1.Click += new System.EventHandler(ok.button1_Click_1);
Я так понимаю вы байндите событие на button1 другой формы.
this.button1.Click += new System.EventHandler(this.button1_Click_1);
надо поосторожнее тут. Если объект не будет создан то у вас будут ошибки. Желательно создайте отдельный обработчик в вызываемой форме и тот в свою очередь через dependansy injection будет проверять и вызывать.
form1 = new Form1();
from2 = new Form2();
from2.Form1 = form1;
from2.button1.Click += new System.EventHandler(this.button_Click);
public void form2.button_Click(object sender, EventArgs e) {
if (this.Form1 != null) {
this.Form1.button1_Click_1(sender, e);
}
}