public void OnEditColumns(object sender, EventArgs e)
        {
            IDesignerHost service = base.Component.Site.GetService(typeof(IDesignerHost)) as IDesignerHost;
            Form          dialog  = ExtendedDataGridViewColumnCollectionEditor.CreateColumnEditor();

            ExtendedDataGridViewColumnCollectionEditor.SetGrid(dialog, (DataGridView)base.Component);
            DesignerTransaction transaction = service.CreateTransaction("DataGridViewEditColumnsTransactionString");
            DialogResult        cancel      = DialogResult.Cancel;

            try
            {
                cancel = this.ShowDialog(dialog);
            }
            finally
            {
                if (cancel == DialogResult.OK)
                {
                    transaction.Commit();
                }
                else
                {
                    transaction.Cancel();
                }
                ExtendedDataGridViewColumnCollectionEditor.SaveData(dialog);
            }
        }
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            object result;

            if (provider != null)
            {
                IWindowsFormsEditorService windowsFormsEditorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
                if (windowsFormsEditorService == null || context.Instance == null)
                {
                    result = value;
                    return(result);
                }
                IDesignerHost designerHost = (IDesignerHost)provider.GetService(typeof(IDesignerHost));
                if (designerHost == null)
                {
                    result = value;
                    return(result);
                }
                if (this.m_dlgColumnEditor == null)
                {
                    this.m_dlgColumnEditor = ExtendedDataGridViewColumnCollectionEditor.CreateColumnEditor();
                }
                ExtendedDataGridViewColumnCollectionEditor.SetGrid(this.m_dlgColumnEditor, (DataGridView)context.Instance);
                using (DesignerTransaction designerTransaction = designerHost.CreateTransaction("DataGridViewColumnCollectionTransaction"))
                {
                    if (windowsFormsEditorService.ShowDialog(this.m_dlgColumnEditor) != DialogResult.OK)
                    {
                        designerTransaction.Cancel();
                    }
                }
            }
            ExtendedDataGridViewColumnCollectionEditor.SaveData(this.m_dlgColumnEditor);
            result = value;
            return(result);
        }
        public void OnEditColumns(object sender, EventArgs e)
        {
            IDesignerHost designerHost = base.Component.Site.GetService(typeof(IDesignerHost)) as IDesignerHost;
            Form          form         = ExtendedDataGridViewColumnCollectionEditor.CreateColumnEditor();

            ExtendedDataGridViewColumnCollectionEditor.SetGrid(form, (DataGridView)base.Component);
            DesignerTransaction designerTransaction = designerHost.CreateTransaction("DataGridViewEditColumnsTransactionString");
            DialogResult        dialogResult        = DialogResult.Cancel;

            try
            {
                dialogResult = this.ShowDialog(form);
            }
            finally
            {
                if (dialogResult == DialogResult.OK)
                {
                    designerTransaction.Commit();
                }
                else
                {
                    designerTransaction.Cancel();
                }
                ExtendedDataGridViewColumnCollectionEditor.SaveData(form);
            }
        }
 private static void form_Load(object sender, EventArgs e)
 {
     ExtendedDataGridViewColumnCollectionEditor.LoadData((Form)sender);
 }