private void lstEmails_AddClick(object sender, EventArgs e)
        {
            var email = new EmailAddress
            {
                Type  = AddressType.Other,
                Value = "*****@*****.**",
            };

            using (var dlg = new EditEmailAddressDialog(email))
            {
                dlg.Text = "Add Email";
                if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                {
                    emails.Add(email);
                }
            }
        }
        private void lstEmails_EditClick(object sender, EventArgs e)
        {
            var item = lstEmails.SelectedItems.Cast <EmailAddress>().FirstOrDefault();

            if (item != null)
            {
                var copy = item.Duplicate();
                using (var dlg = new EditEmailAddressDialog(copy))
                {
                    dlg.Text = "Edit Email";
                    if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
                    {
                        var index = emails.IndexOf(item);
                        emails[index] = copy;
                        emails.ResetItem(index);
                    }
                }
            }
        }