The SelectButton control on the contact list form processes all of the contacts selected by the user. A collection of ListViewItem objects is obtained from the SelectedItems property of the ListView object. The collection is iterated over and a string is appended with the SigninName of the selected contact and delimited with a comma. The generic dictionary<int, string> that was created and filled when the contact list was loaded is used here to obtain the SigninNames of the selected contacts.

Copy Code
		private void SelectButton_Click(object sender, EventArgs e)
			 * When this form is opened and the SelectMode property is
			 * set to true, this selectButton is displayed so that the user
			 * can select multiple contacts. The selected contacts are returned
			 * with the SignInName property which will contain a comma-separated list
			 * of contact sign-in names.
			 * This code iterates on the collection of selected listview items and looks
			 * up the corresponding signin name from the dictionary<int,string> object listDict
			 * Each signin name is appended to a string. Until the count of 
			 * selected contacts processed by the foreach loop reaches the total number of contacts
			 * processed, a comma is appended to the string.
			StringBuilder sb = new StringBuilder();
			int currentSelectedContact = 1;
			foreach (ListViewItem selectedContactItem in contactListView.SelectedItems)
				if (contactListView.SelectedItems.Count == 1)
					//append signin name of contact
					//append signin name of contact

					//append a comma if this contact is not the last contact selected
					if (currentSelectedContact < contactListView.SelectedItems.Count)
						sb.Append(", ");
			// fill property with string built by foreach loop
			signInName = sb.ToString();

See Also