按字母顺序显示列表框中显示的内容
本文关键字:显示 列表 顺序 | 更新日期: 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);
}
}
要按字母顺序对项目排序,只需将ListBox
的Sorted
属性设置为true即可。
同样使用linq,您可以使用OrderBy
方法进行升序排序,或者使用OrderByDescending
方法进行降序排序:
listBox1.DataSource= Contacts.OrderBy(x => x).ToList();
一种方法是在绑定之前对联系人进行排序:
listBox1.DataSource = Contacts.OrderBy( x => x ).ToList();