如何使用表单';s函数在其他类C#中
本文关键字:其他 函数 表单 何使用 | 更新日期: 2023-09-27 18:23:57
我有一个Form和类。在表单中,我从对象调用一个函数,该函数在工作时必须进行一些输出。我该怎么做?
namespace Gui
{
public partial class Form1 : Form
{
void PaintGui()//functioun which change the data in gui
{
}
private void btnCalc_Click(object sender, EventArgs e)
{
//object of some class
//function from this object which should call PaintGui() while it working
}
}
}
我认为您的意思是将一个方法作为参数传递,这样该方法就可以作为回调执行。您应该将一个方法(不带括号)传递给另一个类,并且它必须与Action<>
定义匹配。
public partial class Form1 : Form
{
public void PaintGui(int percent)
{
Label1.Text = percent.ToString() + "% completed";
Label1.Update();
}
private void btnCalc_Click(object sender, EventArgs e)
{
//object of some class
OtherClass other = new OtherClass();
other.DoWork(PaintGui);
}
}
// FOR EXAMPLE
public class OtherClass
{
public void DoWork(Action<int> action)
{
for(int i=0;i<=100;i++)
{
action(i);
Thread.Sleep(50);
}
}
}