Avatar billede Skynet Mester
14. april 2008 - 18:46 Der er 9 kommentarer og
1 løsning

overfør list i checkedListBox?

Hej, jeg har denne list, som jeg gerne vil have vist i min checkedListBox, nogen som kender syntaksten til det?
 

List<string> dinosaurs = new List<string>();
     
            dinosaurs.Add("Compsognathus");
            dinosaurs.Add("Amargasaurus");
            dinosaurs.Add("Oviraptor");
            dinosaurs.Add("Velociraptor");
            dinosaurs.Add("Deinonychus");
            dinosaurs.Add("Dilophosaurus");
            dinosaurs.Add("Gallimimus");
            dinosaurs.Add("Triceratops");
Avatar billede hmortensen Nybegynder
14. april 2008 - 19:16 #1
Det kan gøres sådan her:
checkedListBox1.Items.AddRange(dinosaurs.ToArray());
Avatar billede Skynet Mester
15. april 2008 - 10:03 #2
tak, det virker :)

ved du iøvrigt hvorfor dette ikke virker?

List<string> sublist1 = dinosaurs.FindLast(EndsWithSaurus);
        foreach (string dinosaur in sublist1)
        {
        checkedListBox3.Items.AddRange(sublist1.ToArray());
          }
Avatar billede Skynet Mester
15. april 2008 - 11:14 #3
Problemet er at jeg har fundet denne dokumentation når jeg søger på List<T>, problemet er bare at det er kun med Console.WriteLine og ikke med checkedListBox som jeg skal bruge, nogen som kan kode eksemplerne så de passer til en checkedListBox?


using System;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        List<string> dinosaurs = new List<string>();

        Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);

        dinosaurs.Add("Tyrannosaurus");
        dinosaurs.Add("Amargasaurus");
        dinosaurs.Add("Mamenchisaurus");
        dinosaurs.Add("Deinonychus");
        dinosaurs.Add("Compsognathus");

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
        Console.WriteLine("Count: {0}", dinosaurs.Count);

        Console.WriteLine("\nContains(\"Deinonychus\"): {0}",
            dinosaurs.Contains("Deinonychus"));

        Console.WriteLine("\nInsert(2, \"Compsognathus\")");
        dinosaurs.Insert(2, "Compsognathus");

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]);

        Console.WriteLine("\nRemove(\"Compsognathus\")");
        dinosaurs.Remove("Compsognathus");

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        dinosaurs.TrimExcess();
        Console.WriteLine("\nTrimExcess()");
        Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
        Console.WriteLine("Count: {0}", dinosaurs.Count);

        dinosaurs.Clear();
        Console.WriteLine("\nClear()");
        Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
        Console.WriteLine("Count: {0}", dinosaurs.Count);
    }
}

/* This code example produces the following output:

Capacity: 0

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus

Capacity: 8
Count: 5

Contains("Deinonychus"): True

Insert(2, "Compsognathus")

Tyrannosaurus
Amargasaurus
Compsognathus
Mamenchisaurus
Deinonychus
Compsognathus

dinosaurs[3]: Mamenchisaurus

Remove("Compsognathus")

Tyrannosaurus
Amargasaurus
Mamenchisaurus
Deinonychus
Compsognathus

TrimExcess()
Capacity: 5
Count: 5

Clear()
Capacity: 5
Count: 0
*/
Avatar billede hmortensen Nybegynder
15. april 2008 - 16:33 #4
Du har to muligheder her.

1)
List<string> sublist1 = dinosaurs.FindLast(EndsWithSaurus);
foreach (string dinosaur in sublist1)
{
  checkedListBox3.Items.Add(dinosaur);
}

2)
checkedListBox3.Items.AddRange(dinosaurs.FindLast(EndsWithSaurus).ToArray());
eller
List<string> sublist1 = dinosaurs.FindLast(EndsWithSaurus);
checkedListBox3.Items.AddRange(sublist1.ToArray());
Avatar billede Skynet Mester
15. april 2008 - 17:31 #5
Tak, jeg kan ikke få dem til at virke, er det fordi min metode er forkert

private static bool EndsWithSaurus(String s)
        {
            if ((s.Length > 5) &&
                (s.Substring(s.Length - 6).ToLower() == "saurus"))
            {
                return true;
            }
            else
            {
                return false;
            }
        }
Avatar billede hmortensen Nybegynder
15. april 2008 - 20:20 #6
Det skal ikke være FindLast, men FindAll.
Avatar billede Skynet Mester
15. april 2008 - 21:17 #7
ok, ved du hvordan det så skal laves hvis jeg ønsker at bruge FindLast?
Avatar billede hmortensen Nybegynder
16. april 2008 - 21:39 #8
FindLast returnerer en string, så du kan f.eks.
checkedListBox3.Items.Add(dinosaurs.FindLast(EndsWithSaurus));
Avatar billede Skynet Mester
18. april 2008 - 10:18 #9
ok det virker, mange tak for hjælpen.
Avatar billede hmortensen Nybegynder
18. april 2008 - 21:23 #10
Det var så lidt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester