2

私は学校で ITP プロジェクトを行っていました。このプロジェクトでは、リストボックスに単語を追加すると、リストボックス内の単語を検索するフィルターがあり、一致が false の場合、その単語をリストに追加するようにしました。ただし、このフィルターは大文字と小文字を区別しません。つまり、Audi があっても audi という単語を追加しますが、最初の文字が大文字であるため、フィルターはこれを検出しません。このビットのコードは

private void btnAddWord_Click(object sender, EventArgs e)
    {
        if (this.lbxUnsortedList.Items.Contains(this.tbxAddWord.Text) == false)
        {
            //if the textbox is empty
            if (tbxAddWord.Text == "")
            {
                MessageBox.Show("You have entered no value in the textbox.");
                tbxAddWord.Focus();
            }
            //if the number of items in the listbox is greater than 29
            if (lbxUnsortedList.Items.Count > 29)
            {
                MessageBox.Show("You have exceeded the maximum number of values in the list.");
                tbxAddWord.Text = "";
            }

            //if the number of items in the listbox is less than 29
            else
            {

                //add word to the listbox
                this.lbxUnsortedList.Items.Add(this.tbxAddWord.Text);
                //update tbxListBoxCount
                tbxListboxCount.Text = lbxUnsortedList.Items.Count.ToString();
                //onclick, conduct the bubble sort
                bool swapped;
                string temp;
                do
                {
                    swapped = false;
                    for (int i = 0; i < lbxUnsortedList.Items.Count - 1; i++)
                    {
                        int result = lbxUnsortedList.Items[i].ToString().CompareTo(lbxUnsortedList.Items[i + 1]);
                        if (result > 0)
                        {
                            temp = lbxUnsortedList.Items[i].ToString();
                            lbxUnsortedList.Items[i] = lbxUnsortedList.Items[i + 1];
                            lbxUnsortedList.Items[i + 1] = temp;
                            swapped = true;
                        }
                    }
                } while (swapped == true);
                tbxAddWord.Text = "";
            }
        }
        if (this.lbxUnsortedList.Items.Contains(this.tbxAddWord.Text) == true)
        {
            MessageBox.Show("The word that you have added is already on the list");
            tbxAddWord.Text = "";
            tbxAddWord.Focus();
        }

    }

最初の文字が大文字であってもフィルターが Audi をピックアップするように、この大文字と小文字を区別しないようにする方法を知りたいです。

4

5 に答える 5

0

2 つの文字列値を比較する前に、文字列を大文字または小文字に変換する必要があります。

リスト ボックスをループして、リストlbxUnsortedListから項目を取得します。そして、各文字列を TextBox からの入力文字列と比較しますtbxAddWord

for (int i = 0; i < lbxUnsortedList.Items.Count; i++)
{
    if (lbxUnsortedList.Items[i].ToString().ToLower() == this.tbxAddWord.Text.ToString().ToLower())
    {
         //Your Code
    }
}
于 2013-10-16T06:44:12.073 に答える