6

C#のBindingListでアイテムを移動するにはどうすればよいですか? たとえば、最後に追加したアイテムを前面に移動するか、前のアイテムと入れ替えますか?

4

2 に答える 2

5
    static void Main(string[] args)
    {
        BindingList<string> list = new BindingList<string>();
        list.Add("Hello");
        list.Add("World");
        list.Add("Test");

        MoveLastToFirst(list);

        Swap(list, 1, 2);

        foreach (string s in list)
            Console.WriteLine(s); // Prints Test World Hello
    }

    private static void MoveLastToFirst<T>(BindingList<T> list)
    {
        int cnt = list.Count;
        T temp = list[cnt - 1];
        list.RemoveAt(cnt - 1);
        list.Insert(0, temp);
    }

    private static void Swap<T>(BindingList<T> list, int first, int second)
    {
        T temp = list[first];
        list[first] = list[second];
        list[second] = temp;
    }
于 2009-04-18T19:04:05.647 に答える
3

BindingList には、IList<> を実装する Items プロパティがあります。

だからあなたは使用することができInsert()ますRemoveAt()

于 2009-04-18T18:55:48.180 に答える