Esempio n. 1
0
 public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
 {
     if (provider != null)
     {
         IWindowsFormsEditorService service = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
         if ((service == null) || (context.Instance == null))
         {
             return(value);
         }
         IDesignerHost host = (IDesignerHost)provider.GetService(typeof(IDesignerHost));
         if (host == null)
         {
             return(value);
         }
         if (this.dataGridViewColumnCollectionDialog == null)
         {
             this.dataGridViewColumnCollectionDialog = new DataGridViewColumnCollectionDialog(((DataGridView)context.Instance).Site);
         }
         this.dataGridViewColumnCollectionDialog.SetLiveDataGridView((DataGridView)context.Instance);
         using (DesignerTransaction transaction = host.CreateTransaction(System.Design.SR.GetString("DataGridViewColumnCollectionTransaction")))
         {
             if (service.ShowDialog(this.dataGridViewColumnCollectionDialog) == DialogResult.OK)
             {
                 transaction.Commit();
                 return(value);
             }
             transaction.Cancel();
         }
     }
     return(value);
 }
Esempio n. 2
0
        public void OnEditColumns(object sender, EventArgs e)
        {
            IDesignerHost service = base.Component.Site.GetService(typeof(IDesignerHost)) as IDesignerHost;
            DataGridViewColumnCollectionDialog dialog = new DataGridViewColumnCollectionDialog(((DataGridView)base.Component).Site);

            dialog.SetLiveDataGridView((DataGridView)base.Component);
            DesignerTransaction transaction = service.CreateTransaction(System.Design.SR.GetString("DataGridViewEditColumnsTransactionString"));
            DialogResult        cancel      = DialogResult.Cancel;

            try
            {
                cancel = this.ShowDialog(dialog);
            }
            finally
            {
                if (cancel == DialogResult.OK)
                {
                    transaction.Commit();
                }
                else
                {
                    transaction.Cancel();
                }
            }
        }