我想在winforms应用程序中显示进度,并将其写入应用程序。
上面显示了我想要这样做的地方。我在他们自己的类中拥有我的所有方法,并且我使用以下代码编写了一个方法:
public List<string> WriteToProgress(string str)
{
List<string> progress = new List<string>();
progress.Add(str);
return progress;
}
我的问题是,如何让我的进度列表显示在我的应用程序的列表框中?
答案 0 :(得分:0)
你可能正在寻找这样的东西:
using System.Linq;
...
// Add step to progress, return list of steps
public List<string> WriteToProgress(string step) {
// Add step (if it's not null or empty) to progress
if (!string.IsNullOrEmpty(step))
myListBox.Items.Add(step);
// collect and return all steps as a list:
return myListBox.Items
.OfType<Object>()
.Where(o => o != null)
.Select(o => o.ToString())
.ToList();
}
...
WriteToProgress("step #1: db connect");
WriteToProgress("step #2: uploading");
...
// Let's report the progress so far
var progress = WriteToProgress("step #N: reporting");
MessageBox.Show(string.Join(Environment.NewLine, progress));