我正在尝试学习自定义事件,并且尝试创建一个自定义事件,但似乎有问题
我创建了一个Form,静态类和自定义事件。我想要实现的是,当我按下按钮Form时将调用静态类函数,然后func会不时引发一个事件以报告当前状态。Form1将侦听是否引发该事件,如果发生,它将更改label1的Text
这是我到目前为止所拥有的
public partial class Form1 : Form
{
public EventHandler<Progress> progress;
public Form1()
{
InitializeComponent();
progress += SetStatus;
}
private void SetStatus(object sender, Progress e)
{
label1.Text = e.Status;
}
private void button1_Click_1(object sender, EventArgs e)
{
TestClass.Func();
}
}
文件2
class TestClass
{
public static void Func()
{
//time consuming code
Report status
// time consuming code
report status
}
}
public class Progress : EventArgs
{
public string Status { get; private set; }
private Progress() {}
public Progress(string status)
{
Status = status;
}
}
现在我不明白的是,如何从TestClass引发事件,以便Form1可以处理事件并更改标签。