我有一个Windows窗体,它在一个dll中的两个单独的类中调用了许多方法。
在表单中,我想显示状态更新,即在标签中显示查询的进展情况。
如何跟踪dll中2个不同类的方法状态?
谢谢!
以下是示例dll代码...
public class ClassA
{
private string ProgressStatus
private void SetStatusText(string currentStatus)
{
progressStatus = currentStatus;
}
public void ReportRequest()
{
SetStatusText("Begin Process..."); // update status
SetStatusText("Getting Dates..."); // update status
// get dates
DatesClass myDates = new DatesClass()
datesOK = myDates.GetDates();
if (datesOK)
{
SetStatusText("Running Request...");
RunFinalRequest();
}
}
}
public internal class ClassB
{
private string ProgressStatus
private void SetStatusText(string currentStatus)
{
progressStatus = currentStatus;
}
public string GetDates()
{
SetStatusText("Loading Dates..."); // update status
LoadDates();
return // return sql query value
}
private void LoadDates()
{
// sql query...
SetStatusText("Run Query...");
}
}
答案 0 :(得分:1)
听起来你想要BackgroundWorker。您将创建两个后台工作者类并让它们运行您的方法。然后,您可以使用ProgressChanged
事件将进度报告回原始主题。