Entwickler-Ecke

WinForms - Prozesse in Textbox auflisten


RacX - Sa 27.08.11 11:49
Titel: Prozesse in Textbox auflisten
Hallo,

wie in der Überschrift schon geschrieben habe ich ein Problem und komme einfach nicht weiter...
ich will das alle laufenden Prozesse in einer Textbox aufgelistet werden aber ich krieg das nicht hin
hab schon einiges probiert hier mal der Code:


C#-Quelltext
1:
2:
3:
4:
5:
foreach (Process p in Process.GetProcesses())
            {
               textBox1.Text = p.ProcessName + "\r\n";
               
            }


dann hab ich damit etwas rumgespielt und Multilines auf true gestellt (keine ahnung ob das was bringt) brachte aber auch nichts.
Dann hab hatte ich mal das Ergebnis das in der textbox der Text "idle" angezeigt wurde keine Ahnung wieso.

meine vermutung ist das man eine andere eigenschaft als .text braucht aber bin noch ziemlich unerfahren in c#

oder was ist besser dafür geignet prozesse in einer windows form anzuwenden als eine textbox?

Hoffe ihr könnt mir helfen

mfg

Moderiert von user profile iconChristian S.: " PROBLEM!!!" aus Titel entfernt
Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - Sa 27.08.11 11:57

Hallo und :welcome:!

Besser geeignet für eine Liste ist eine ListBox ;-)

Dein Code funktioniert deshalb nicht, weil Du den Text der Textbox immer wieder überschreibst, Du musst aber Text anhängen! Und statt "\r\n" solltest Du besser Environment.NewLine verwenden, dann wird immer der Betriebssystemstandard für einen Zeilenumbruch verwendet.

Grüße,
Christian


RacX - Sa 27.08.11 12:02

user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
Hallo und :welcome:!

Besser geeignet für eine Liste ist eine ListBox ;-)

Dein Code funktioniert deshalb nicht, weil Du den Text der Textbox immer wieder überschreibst, Du musst aber Text anhängen! Und statt "\r\n" solltest Du besser Environment.NewLine verwenden, dann wird immer der Betriebssystemstandard für einen Zeilenumbruch verwendet.

Grüße,
Christian


Vielen Dank für die schnelle Antwort allerdings habe ich noch nie mti einer listbox gearbeit.
Ein beispiel wie der code ungefähr aussehen würde wäre echt nett und würde mir bestimmt weiterhelfen


Christian S. - Sa 27.08.11 12:11

Die Listbox ist ziemlich einfach zu benutzen. Du kannst beliebige Objekte der Listbox hinzufügen und diese werden dann in der Listbox angezeigt.

Das Hinzufügen geht über listBox1.Items.Add(DeinObjekt).

Um rauszfuinden, wie ein Objekt angezeigt werden soll, ruft die Listbox dann von jedem Objekt die ToString()-Methode auf und zeigt den String an, den diese Methode zurück gibt. Du kannst das aber auch beeinflussen, so wäre es in Deinem Fall ja sinnvoll, wenn die Listbox die ProcessName-Eigenschaft zur Anzeige benutzte. Dazu setzt Du einfach die DisplayMember-Eigenschaft der Listbox auf "ProcessName".


RacX - Sa 27.08.11 12:17

Vielen Dank klappt jetzt alles wunderbar hat mir echt geholfen :)