私は学校で 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 をピックアップするように、この大文字と小文字を区別しないようにする方法を知りたいです。