我有一个直接分配给列表框的列表。我想使用一个文本框和一个按钮来搜索列表框的内容,所以在输入一个单词后,当用户按下按钮时,它会在所有条目的列表框中显示它。例如,如果我输入 apple 并按回车键,则列表框应显示包含 apple 一词的条目。
我已使用以下方法将列表分配给列表框:
Messages.ItemSource = messages;
到目前为止我有
private void button_Click(object sender, EventArgs e)
{
}
但我不知道在按钮里面放什么
您将要遍历消息条目,这是您将 ItemSource 设置为的条目,并根据当前消息检查每个条目。您可以使用 Linq Where 方法来完成此操作。然后,一旦您挑选出包含所选单词的所有消息,您就可以将 ItemSource 设置为找到的单词列表。这是一个示例。
public List<string> messages = new List<string>() { "Apple", "Apple Pie", "Apple Jam", "Orange", "Banana" };
public void button_Click(object sender, EventArgs e)
{
var foundList = messages.Where(m => m.Contains(textBox.Text)).ToList();
Messages.ItemsSource = foundList;
}
我现在无法访问visual studio,所以我没有测试过,但它应该是这样的。您应该能够将该代码实际添加到 TextBoxChanged 事件,以便在您键入时更新。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句