无法弄清楚如何在ListBox中搜索项目并返回结果

时间:2017-05-25 16:31:50

标签: c# search textbox listbox streamwriter

我正在尝试创建一个在列表框中搜索名称的应用程序。 基本上,我有2个.txt文件(BoyNames,GirlNames)一个文件包含一组男孩名字和其他女孩名字。我设法将男孩名称显示为boyNameListBox,将女孩名称显示为girlNameListBox。请参考我附上的图片。我正在尝试添加功能,如果用户键入男孩名称(在男孩文本框中)并且名称在列表框中显示,应用程序将返回显示“流行”的消息框;如果未列出该名称,该应用程序将显示一个显示不受欢迎的消息框。我想包括相同的搜索功能,但对于女孩的名字。我对编程很陌生,非常感谢你的帮助。在此先感谢!!

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void readButton_Click(object sender, EventArgs e)
    {
        {
            //local variables
            string line1;

            //Catch Boy Names File
            System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\Harra\Documents\Visual Studio 2017\Projects\Name Search\BoyNames.txt");

            //display items BoyNames file to Listbox
            while ((line1 = file.ReadLine()) != null)
                boyNameListbox.Items.Add(line1);
        }

        {
            //local variales
            string line2;

            //Catch Girl Names File
            System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\Harra\Documents\Visual Studio 2017\Projects\Name Search\GirlNames.txt");

            //display items GirlNames file to Listbox
            while ((line2 = file.ReadLine()) != null)
                girlNameListbox.Items.Add(line2);
        }


    }

    private void boyButton_Click(object sender, EventArgs e)
    {

    }

    private void girlButton_Click(object sender, EventArgs e)
    {

    }
}

enter image description here

1 个答案:

答案 0 :(得分:0)

类似的东西:

private void boyButton_Click(object sender, EventArgs e)
{
    string boyname = boyTextBox.Text;
    bool found = false;
    for(int n = 0; n < boyNameListbox.Items.Count; n++)
    {
        if (boyNameListbox.Items[n] == boyname)
        {
            found = true;
            break;
        }
    }

    if (found)
        MessageBox.Show("popular");
    else
        MessageBox.Show("not popular");

}

请注意,我没有对整个表单进行编码,因此可能是小错误,但希望您能从这个示例中获得想法。希望这足以让你开始并成为公认的答案。