在列表框中添加,删除,排序,搜索和计数

时间:2015-11-12 07:40:17

标签: c# sorting search listbox add

所以在这个列表框中我有这个顺序的名字

  

Abigal
  汉娜
  泰勒
  比尔
  Sasquach

列表框的名称称为namesListBox

使用TextBoxes和用户需要输入的每个输入的不同按钮:

  • 添加名称

  • 删除名称

  • 然后在名称中搜索当时只有该名称显示在列表框中的位置。

完成后,使用按钮计算列表中的项目数。使用不同的按钮进行排序。

这是c#。我似乎无法使nameslistbox.sort或.count工作,所以任何帮助都会很好,我不知道如何进行添加,删除和搜索。

private void showListButton_Click(object sender, EventArgs e)
{
    nameListBox.Visible = true;
}

private void countListButton_Click(object sender, EventArgs e)
{

}

private void addButton_Click(object sender, EventArgs e)
{
    List<string> nameListBox = new List<string>();
    nameListBox.Add(addTextBox.Text);
}

private void sortListButton_Click(object sender, EventArgs e)
{

}

private void searchButton_Click(object sender, EventArgs e)
{

}

private void deleteButton_Click(object sender, EventArgs e)
{

}

2 个答案:

答案 0 :(得分:0)

您正在click事件方法中创建List实例。这意味着,每次单击添加按钮并且List就在click方法中时,您每次都在创建一个新List。您应该使List全局:

private List<string> namesListBox; // this should be outside of the method

并在构造函数中初始化它:

namesListBox = new List<string>();

现在您可以添加如下元素:

private void addButton_Click(object sender, EventArgs e)
{
    nameListBox.Add(addTextBox.Text);
} 

答案 1 :(得分:0)

正如icedragon在评论中所说,每次单击“添加”按钮时都会创建一个新列表,因此需要将其设为全局变量。

您可能想要阅读有关Linq的更多信息来处理您的收藏。 http://www.codeproject.com/Articles/19154/Understanding-LINQ-C

private List<string> namesList;

public class YourClass()
{
    namesList = new List<string>();
}

private void addButton_Click(object sender, EventArgs e)
{
     nameListBox.Add(addTextBox.Text);
}

private void sortListButton_Click(object sender, EventArgs e)
{
     nameListBox.Sort();
}

private void searchButton_Click(object sender, EventArgs e)
{
    string searchedString = nameListBox.FirstOrDefault(x => x.Contains(searchTextbox.Text);
}

private void deleteButton_Click(object sender, EventArgs e)
{
     nameListBox.Remove(removeTextbox.Text);
}