Autor Beitrag
tomycat
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 265
Erhaltene Danke: 1



BeitragVerfasst: Do 09.07.15 21:23 
hallo,
ich habe eine Listbox und die ist bei "selctionmode" auf Multiextended gestellt.

mit...
ausblenden C#-Quelltext
1:
name_der_listbox.Items.Add(variable_von_der_textbox);					

... fülle ich meine Listbox.

Nach dem ich 5 von 10 makiert habe möchte die weiterverarbeiten.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
private void addieren_Click(object sender, EventArgs e)
{
    // makiertes zusammenaddieren
    // keine Ahung wie?
    Messagebox.Show(das_ergebis)
}


Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Moderiert von user profile iconTh69: Titel geändert.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 10.07.15 10:14 
Sobald nach einer Änderung der Selektion genau 5 einträge markiert sind. Rechnet folgender Code die selektierten Einträge zusammen.
Unetr der Annahme das die in der ListBox enthalten Einträge alle als Integer interpretierbar sind.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
private void name_der_listbox_SelectedIndexChanged(object sender, EventArgs e)
{
    Int32 das_ergebis;
    if (name_der_listbox.SelectedItems.Count == 5)
    {
        das_ergebis= name_der_listbox.SelectedItems.Cast<string>().Sum(x => Convert.ToInt32(x));
        MessageBox.Show(result.ToString());
    }
}

Für diesen Beitrag haben gedankt: tomycat
tomycat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 265
Erhaltene Danke: 1



BeitragVerfasst: Sa 11.07.15 20:52 
hmmmm jein.

Sorry, ich muss anderst fragen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
   private void button15_Click(object sender, EventArgs e)
        {
            string die_makierung = name_der_listbox.SelectedItem.ToString();
            MessageBox.Show(die_makierung);
        }

Ich makiere etwas in der listbox.

3
4
2 <- makiert
6 <- makiert
2 <- makiert
5
3
5
6

können 3 oder 1 oder alle mal sein.
Ein klick auf dem Button und es "2 6 2" kommen.
Leider kommt immer nur ein makierter Wert in der Messagebox. :-(

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
tomycat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 265
Erhaltene Danke: 1



BeitragVerfasst: Sa 11.07.15 21:32 
soweit bin ich gekommen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
private void button15_Click(object sender, EventArgs e)
{
     string itemText
     for(int a = 0; a < name_der_listbox.SelectedItems.Count;a++)
     {   
          ifthis.name_der_listbox.Items[a] == "ist makiert")
          {
              itemText   += this.name_der_listbox.Items[a].ToString();
              itemText   += " ";
          }

          MessageBox.Show(itemText);
     }            
}

Woher weis ich ob die Zeile in der listbox makiert ist oder nicht?

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 11.07.15 22:01 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: tomycat
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Sa 11.07.15 22:02 
Hallo,

die einzelnen markierten Elemente sind in der SelectedItems-Liste enthalten, d.h. du mußt natürlich dann innerhalb deiner Schleife auf diese zugreifen (und nicht auf Items - und die if-Anweisung kann dann ganz entfallen).
Noch einfacher geht es mit der foreach-Schleife:
ausblenden C#-Quelltext
1:
2:
3:
4:
foreach (var item in listBox.SelectedItems)
{
   MessageBox(item.ToString());
}

Für diesen Beitrag haben gedankt: tomycat
tomycat Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 265
Erhaltene Danke: 1



BeitragVerfasst: Sa 11.07.15 22:17 
Hammmmmmer !!!
Respekt !!!
Super Forum !!!