private void AddFieldBtn_Click(object sender, EventArgs e)
 {
     var editor = new CreateInnerElementForm(InnerElementType.Field);
     if(editor.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) {
         return;
     }
     FieldListItem newField = new FieldListItem();
     newField.Name = editor.ItemName.Text;
     newField.Type = editor.Type.Text;
     newField.AccessModifier = editor.AccessList.SelectedItem != null ? editor.AccessList.SelectedItem.ToString() : "";
     newField.IsStatic = editor.StaticChkBx.Checked;
     FieldsListBox.Items.Add(newField);
 }
        private void EditFieldBtn_Click(object sender, EventArgs e)
        {
            var selectedItem = FieldsListBox.SelectedItem as FieldListItem;
            if(selectedItem == null) {
                return;
            }
            var editor = new CreateInnerElementForm(InnerElementType.Field);
            editor.ItemName.Text = selectedItem.Name;
            editor.Type.Text = selectedItem.Type;
            editor.AccessList.SelectedItem = selectedItem.AccessModifier;
            editor.StaticChkBx.Checked = selectedItem.IsStatic;
            if(editor.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) {
                return;
            }
            FieldListItem newField = new FieldListItem();
            newField.Name = editor.ItemName.Text;
            newField.Type = editor.Type.Text;
            newField.AccessModifier = editor.AccessList.SelectedItem != null ? editor.AccessList.SelectedItem.ToString() : "";
            newField.IsStatic = editor.StaticChkBx.Checked;

            int index = FieldsListBox.SelectedIndex;
            FieldsListBox.Items.RemoveAt(index);
            FieldsListBox.Items.Insert(index, newField);
            FieldsListBox.SelectedIndex = index;
        }