private void btnSearch_Click(object sender, EventArgs e) { if (txtSearch.Text.Trim().Length <= 0) { return; } Cursor.Current = Cursors.WaitCursor; bool isAndSearch = txtSearch.Text.ToLower().Contains(" and "); string[] keywords = null; if (isAndSearch) { keywords = txtSearch.Text.ToLower().Split(new string[] { " and " }, StringSplitOptions.RemoveEmptyEntries); } else { keywords = txtSearch.Text.ToLower().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); } lvwAddresses.Items.Clear(); foreach (Address a in Addresses.Instance) { if (isAndSearch) { bool matchAll = true; foreach (string k in keywords) { if (!a.MatchKeyword(k)) { matchAll = false; break; } } if (matchAll) { AddressListViewItem item = new AddressListViewItem(a); lvwAddresses.Items.Add(item); } } else { foreach (string k in keywords) { if (a.MatchKeyword(k)) { AddressListViewItem item = new AddressListViewItem(a); lvwAddresses.Items.Add(item); break; } } } } Cursor.Current = Cursors.Default; }
private void AddressSelectorForm_Load(object sender, EventArgs e) { foreach (Address a in Addresses.Instance) { AddressListViewItem item = new AddressListViewItem(a); lvwAddresses.Items.Add(item); } }