按字母顺序显示列表框中显示的内容

本文关键字:显示 列表 顺序 | 更新日期: 2023-09-27 18:24:52

https://i.stack.imgur.com/gurgQ.jpg抓取用户的联系人,并随机显示,我如何使其按字母顺序显示,这样更容易找到某个联系人。

这里有一些代码,不知道是否有人需要。

    private void Form1_Load(object sender, EventArgs e)
    {
        //I entered a message box so it doesn't crash instantly.
        MessageBox.Show("Please allow SkypeBot.vshost.exe to access skype if you haven't yet. (Look at your Skype application)");
        Skype skype = new Skype();
        skype.Attach();
        getContacts(skype);
    }
    List<string> Contacts = new List<string>();
    public void getContacts(Skype skype)
    {
        //This goes through all the contacts in the contacts list
        for (int i = 0; i < skype.HardwiredGroups.Count; i++)
        {
            //This checks if the user is a friend or not
            if (skype.HardwiredGroups[i + 1].Type == TGroupType.grpAllFriends)
            {
                //If they are, then do this loop
                for (int j = skype.HardwiredGroups[i + 1].Users.Count; j > 0; j--)
                {
                    //This adds the contact to the Contacts list we declared before.
                    Contacts.Add(skype.HardwiredGroups[i + 1].Users[j].Handle);
                }
            }
        }
        //This makes the listBox show the contents of the Contact list.
        listBox1.DataSource = Contacts;
    }
        //aot stands for amount of times.
    public void sendMessage(string message, string user, int aot, Skype skype)
    {
        for (int i = 0; i < aot; i++)
        {
            skype.SendMessage(user, message);
        }
    }

按字母顺序显示列表框中显示的内容

要按字母顺序对项目排序,只需将ListBoxSorted属性设置为true即可。

同样使用linq,您可以使用OrderBy方法进行升序排序,或者使用OrderByDescending方法进行降序排序:

listBox1.DataSource= Contacts.OrderBy(x => x).ToList();

一种方法是在绑定之前对联系人进行排序:

listBox1.DataSource = Contacts.OrderBy( x => x ).ToList();