listViewにDateTimeまたはStringが含まれているかどうかを確認するにはどうすればよいですか?
私はもう試した
if (!listView1.Items.Contains(SetAlarm.Value))
ただし、に変換することはできませSystem.DateTime
んSystem.Windows.Forms.ListViewItem
。
listViewにDateTimeまたはStringが含まれているかどうかを確認するにはどうすればよいですか?
私はもう試した
if (!listView1.Items.Contains(SetAlarm.Value))
ただし、に変換することはできませSystem.DateTime
んSystem.Windows.Forms.ListViewItem
。
bool isMatch = false;
int matchIndex = -1;
DateTime resultDate = = new DateTime();
foreach(ListViewItem lvItem in listView1.Items)
{
if(DateTime.TryParse(lvItem.Text, out resultDate ))
{
isMatch = true;
matchIndex = lvItem.Index;
break;
}
}
if(isMatch) Console.WriteLine("match at index : " + matchIndex.ToString() + " = " + resultDate.ToString());
listView1.Items.Contains(new ListItem(DateTime.Now))
動作しないでしょう。コレクションContains
で実際にアイテムを渡す場合にのみ機能します。ListView.Items
forループを使用する必要があると思います:(
foreach (ListViewItem s in listView1.Items)
{
if (s.Text != SetAlarm.Value.ToString()) continue;
MsgBox.Show("Found: " + SetAlarm.Value.ToString());
return;
}