• 締切済み

リストボックスの文字列の検索で困っています!

C#のプログラミングについて ボタン1を押したとき テキストボックス1にある文字(または数字)がリストボックス1に含まれているかを検索し もし含まれているならばテキストボックス2にその行を表示するプログラムはどうやって書けばいいですか?

みんなの回答

回答No.4

#2 です。 手抜きはいけませんね。FindStringsはそれで始まるアイテムを探すだけなので、文字列がどこにあるのかわからないならアイテムを全部取り出して調べてみないと分かりません。 int i; int num = this.listBox1.Items.Count; for (i = 0; i < num; i++) { String str = this.listBox.Items.Item(i); if (str.Contains(this.textBox1.Text)) { this.textBox2.Text = this.listBox.Items.Item(i); break; } }

lanlan_7
質問者

お礼

ありがとうございます! すごいですね・・・参考になります

回答No.3

完全一致ではなく、部分一致で文字を探さないとできませんね。 for (int i = 0; i < listBox1.Items.Count; i++) {   if (listBox1.Items[i].ToString().Contains(textBox1.Text))   {     textBox2.Text = listBox1.Items[i].ToString();     break;   } }

回答No.2

こういうのは? int idx = this.listBox1.FindStrings(this.textBox1.Text); if (idx != ListBox.NoMatches) { this.textBox2.Text = this.listBox1.Items.Item(idx); }

回答No.1

こんな感じでしょうか。 if (this.listBox1.Items.Contains(this.textBox1.Text)) {   int index = this.listBox1.Items.IndexOf(this.textBox1.Text);   this.textBox2.Text = (index + 1 ).ToString(); }

lanlan_7
質問者

お礼

ありがとうございます! とても参考になりました。 ですが・・・・なぜかできないんですよね; 質問が雑すぎたのかもしれませんが 例えば リストボックスに 1.ねこのひげ、いぬのあし、うし 2.うまのひずめ、ウサギの耳 ・ ・ ・ みたいにあって テキストボックス1に「ねこ」と入れて検索すると 1.ねこのひげ、いぬのあし、うし がテキストボックス2に表示されるような・・・・ 雰囲気ではわかってるつもりなんですけど どうしてもできません;;

関連するQ&A