/// <summary>
        /// Prompts the user for information for a new property item.
        /// </summary>
        public void NewItem()
        {
            using (PropertyForm dial = new PropertyForm(String.Empty, String.Empty))
            {
                if (dial.ShowDialog() == DialogResult.OK)
                {
                    IEnvironmentFactory f = EnvironmentContainer.Factory;
                    IEditProperty newProp = f.CreateProperty();
                    newProp.BeginEdit();
                    newProp.Name = dial.PropertyName;
                    newProp.Value = dial.PropertyValue;
                    newProp.FinishEdit();

                    RefreshList();
                }
            }
        }
        /// <summary>
        /// Asks the user to specify a revised value for the property item attached
        /// to the supplied row.
        /// </summary>
        /// <param name="row">The row associated with the property item to update.</param>
        void UpdateProperty(DataGridViewRow row)
        {
            IEditProperty p = (IEditProperty)row.Tag;

            using (PropertyForm dial = new PropertyForm(p.Name, p.Value))
            {
                if (dial.ShowDialog() == DialogResult.OK)
                {
                    p.BeginEdit();
                    p.Value = dial.PropertyValue;
                    p.FinishEdit();

                    RefreshList();
                }
            }
        }