Это мой первый файл, Form1.cs:Как мы можем использовать модель событий и делегирования для передачи вывода из метода в первом классе в другой класс?
namespace EventsNDelegates
{
public delegate void DelEventHandler();
public partial class Form1 : Form
{
public event DelEventHandler add;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
add += new DelEventHandler(Initiate);
//invoke the event
add();
}
public void Initiate()
{
textBox1.Text = "Hello";
}
}
}
и это мой второй файл Class1.cs:
namespace EventsNDelegates
{
class Class1
{
}
}
и это моя форма дизайн:
Теперь в данный момент на кнопке нажмите событие, которое запускается в форме1.
Что мне нужно, так это то, что события активируются при нажатии кнопки form1.cs в class1.cs, и вывод выводится в текстовое поле формы1.
Если класс1 не имеет ссылки на form1, он не может сделать это напрямую. Но я предполагаю, что существует еще один класс (возможно, просто программа), который содержит ссылки для обоих классов; вам придется работать в этом классе для передачи информации. – Kilazur
Я не понимаю. Вы хотите вызвать событие в form1 из класса 1 или подписаться на событие в классе1 и вызвать его в form1? –
оба эти класса находятся под одним и тем же пространством имен. форма находится в form1.cs, где у нас также есть текстовое поле и кнопка. теперь, когда я нажимаю кнопку в form1.cs, он должен запускать событие в class1.cs, и я хочу, чтобы цикл выполнялся в этом событии (например, счетчик до 1 до 20), и я хочу, чтобы все эти значения от 1 до 20 отображались в текстовое поле form1.cs @Kilazur –