public void SaveToFieldValue(EnumFieldValue value)
        {
            int index = -1;

            for (int i = 0; i < _radioButtons.Count; ++i)
            {
                if (_radioButtons.Values[i].Checked)
                {
                    index = i;
                }
            }
            fieldPanel1.UpdateResource();

            _value.SelectedElementIndex      = index;
            _value.SelectedElement.SubValues = fieldPanel1.SubValues.Clone();
        }
        public void LoadFromFieldValue(EnumFieldValue value)
        {
            _value = value;

            _radioButtons.Clear();
            flowLayoutPanel1.Controls.Clear();
            //fieldPanel1.Controls.Clear();

            foreach (EnumElementFieldValue v in _value.SubValues.Values)
            {
                RadioButton radioButton = new RadioButton();

                radioButton.Name     = v.MyType.Name;
                radioButton.Text     = v.MyType.DisplayName;
                radioButton.AutoSize = true;

                radioButton.CheckedChanged += new EventHandler(radioButton_CheckedChanged);

                _radioButtons.Add(radioButton.Name, radioButton);
                flowLayoutPanel1.Controls.Add(radioButton);
            }

            _radioButtons[_value.SelectedElement.MyType.Name].Checked = true;
        }