/// <summary>
        /// Handles the Click event of the btnBrowse control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        void btnBrowse_Click(object sender, EventArgs e)
        {
            using (var f = new ItemTemplateUITypeEditorForm(null))
            {
                // If we require distinct, skip items we already have in the list
                if (RequireDistinct)
                {
                    var listItems = lstItems.Items.OfType <CharacterTemplateInventoryItem>().ToImmutable();
                    f.SkipItems = (x => listItems.Any(y => y.ID == x.ID));
                }

                if (f.ShowDialog(this) != DialogResult.OK)
                {
                    return;
                }

                var item = f.SelectedItem;
                _selectedItem = item.ID;
                txtItem.Text  = item.ID + " [" + item.Name + "]";
            }
        }