0
TextBoxで結果をフィルタリングしているListViewコントロールがあります。このコードは、一致する結果のバックカラーを強調表示するために機能しますが、合計の結果/強調表示されたオブジェクトをint
として取得したいとします。現在入力されているint
が正しくなく、見つかった/強調表示された結果と一致しません。リストビューの総インデックスを取得できません
検索結果の総数はどのように取得できますか?
private void textBox1_TextChanged(object sender, EventArgs e)
{
foreach (ListViewItem lvi in this.browserlistview.Items)
{
if (textBox1.TextLength > 0)
{
if (lvi.Text.IndexOf(textBox1.Text, StringComparison.CurrentCultureIgnoreCase) >= 0)
{
Color b = Color.Cyan;
lvi.BackColor = b;
foundobjlbl.Text = "Objects found: " + lvi.Text.IndexOf(textBox1.Text, StringComparison.InvariantCultureIgnoreCase).ToString();
//this is turning up incorrect integers
}
else
{
Color w = Color.White;
lvi.BackColor = w;
}
}
else if (textBox1.TextLength == 0)
{
Color w = Color.White;
lvi.BackColor = w;
foundobjlbl.Text = "Objects found : 0";
}
}
}
どこが間違っているのか分かりませんか?
うん、これはそれでした。私の考えの裏では、if文の中でインクリメントすることを考えていましたが、それは間違っているように感じました。視覚化と説明をありがとう:) – EyeSeeSharp