C# 如果用户名不唯一,则在列表框中检查输入用户名以显示错误消息

C# 如果用户名不唯一,则在列表框中检查输入用户名以显示错误消息,c#,winforms,listbox,contains,C#,Winforms,Listbox,Contains,我正在处理一个项目,如果输入的用户名不唯一,我必须显示一条错误消息。我正在尝试在我的列表框中搜索,以查看用户名是否已存在。该程序运行良好,但无法运行find never==true,即使我输入的用户名与我的列表框中的用户名完全相同,我对C语言还是相当陌生,所以我只是在搞乱语法,但似乎没有任何效果。非常感谢您的帮助 private void txt_Username_TextChanged(object sender, EventArgs e) { bool find

我正在处理一个项目,如果输入的用户名不唯一,我必须显示一条错误消息。我正在尝试在我的列表框中搜索,以查看用户名是否已存在。该程序运行良好,但无法运行find never==true,即使我输入的用户名与我的列表框中的用户名完全相同,我对C语言还是相当陌生,所以我只是在搞乱语法,但似乎没有任何效果。非常感谢您的帮助

    private void txt_Username_TextChanged(object sender, EventArgs e)
    {
       bool find = lb_Form1_ListUsers.ContainsFocus.Equals(txt_Username.Text);

        if (find == true)
        {
           lbl_Form1_UniqueError.Visible = true;
        }
        else
        {
            lbl_Form1_UniqueError.Visible = false;
        }

        find = false;
    }
ContainesFocus根据lb_Form1_ListUsers是否有键盘焦点返回true/false;所以 将此布尔值与字符串txt_Username.Text进行比较没有多大意义

假设lb_Form1_ListUsers.Items包含字符串用户名类型的值,我们可以查询它们是否等于txt_Username.Text

bool find=lb_Form1_ListUsers.Text.Equalstxt_Username.Text;?因为ContainsFocus的类型bool从不等于字符串txt_Username.Text
   using System.Linq; 

   ...

   private void txt_Username_TextChanged(object sender, EventArgs e)
   {
     bool find = lb_Form1_ListUsers
       .Items
       .Cast<String>() //TODO: put the right type here if required
       .Any(item => item == txt_Username.Text);

     lbl_Form1_UniqueError.Visible = find;  
   }