/// <summary>
        ///     Called when the value needs to be edited.
        /// </summary>
        /// <param name="context">Context of editing.</param>
        /// <param name="provider">Provider of editing.</param>
        /// <param name="value">Original value to edit.</param>
        /// <returns>Edited version of original value.</returns>
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            SoundSelectorWindow soundSelectorWindow = new SoundSelectorWindow();
            soundSelectorWindow.Sound = value as Audio.Sound;
            if (soundSelectorWindow.ShowDialog() == DialogResult.OK)
                return soundSelectorWindow.Sound;

            return base.EditValue(context, provider, value);
        }
        /// <summary>
        ///     Called when the value needs to be edited.
        /// </summary>
        /// <param name="context">Context of editing.</param>
        /// <param name="provider">Provider of editing.</param>
        /// <param name="value">Original value to edit.</param>
        /// <returns>Edited version of original value.</returns>
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            SoundSelectorWindow soundSelectorWindow = new SoundSelectorWindow();

            soundSelectorWindow.Sound = value as Audio.Sound;
            if (soundSelectorWindow.ShowDialog() == DialogResult.OK)
            {
                return(soundSelectorWindow.Sound);
            }

            return(base.EditValue(context, provider, value));
        }