显示列表框中的进度

时间:2017-05-19 13:25:24

标签: c# winforms

我想在winforms应用程序中显示进度,并将其写入应用程序。 enter image description here

上面显示了我想要这样做的地方。我在他们自己的类中拥有我的所有方法,并且我使用以下代码编写了一个方法:

public List<string> WriteToProgress(string str)
        {
            List<string> progress = new List<string>();
            progress.Add(str);
            return progress;
        }

我的问题是,如何让我的进度列表显示在我的应用程序的列表框中?

1 个答案:

答案 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));