2017-05-19 76 views
0

我想在winforms應用程序中顯示進度,並將其寫入應用程序。 enter image description here在列表框中顯示進度

上面顯示了我想要執行此操作的位置。我把所有我在自己的類中的方法,我已經寫了一個方法用下面的代碼:

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

我的問題是,怎樣才能讓我的進度列表在我的應用程序列表框中顯示?

+3

這是一個奇怪的功能。你怎麼使用它? – LarsTech

+0

您發佈的函數的名稱更準確的名稱是'PutThisStringInAnEmptyListAndReturnTheList()'您不存儲該字符串,將其添加到其他位置,或者將_anything_與它一起使用,而不是將其返回到列表中。 – Flater

+0

爲了清楚起見,我面臨一個問題,我不能100%確定如何處理,所以我的第一個想法是將字符串添加到列表中,然後想知道是否可以實時地在列表框中複製該列表。根據反應,雖然看起來這是一個愚蠢的計劃...... – Leonidas199x

回答

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