2017-05-19 12 views
0

Ich möchte den Fortschritt in einer Winforms-App anzeigen und in die Anwendung schreiben lassen. enter image description hereFortschritt in einer Listbox anzeigen

Oben zeigt, wo ich das gerne machen würde. Ich habe alle meine Methoden in ihrer eigenen Klasse, und ich habe eine Methode mit dem folgenden Code geschrieben:

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

Meine Frage ist, wie kann ich meine Fortschritte Liste erhalte in der List in meiner Anwendung zu zeigen?

+3

die eine ungerade Funktion ist. Wie benutzt du es? – LarsTech

+0

Ein genauerer Name für die Funktion, die Sie gepostet haben, wäre 'PutThisStringInAnEmptyListAndReturnTheList()' Sie speichern die Zeichenfolge nicht, fügen sie an anderer Stelle hinzu oder machen _anything_ mit, außer dass sie sie in einer Liste zurückgibt. – Flater

+0

Um klar zu sein, ich stehe vor einem Problem Ich bin nicht 100% sicher, wie man anpackt, also war mein erster Gedanke, die Zeichenfolgen zu einer Liste hinzuzufügen, und dann fragte mich, ob ich diese Liste in der Listbox in Echtzeit irgendwie replizieren könnte . Ausgehend von den Reaktionen scheint es jedoch, dass ein dummer Plan ist ... – Leonidas199x

Antwort

0

Sie wahrscheinlich etwas suchen, wie folgt aus:

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