private void detailView1_MouseDown(object sender, MouseEventArgs e)
 {
     if ((Control.ModifierKeys & Keys.Control) != Keys.Control)
     {
         GridView    view = sender as GridView;
         GridHitInfo hi   = view.CalcHitInfo(e.Location);
         if (hi.InRowCell)
         {
             if (hi.Column.RealColumnEdit.GetType() == typeof(RepositoryItemButtonEdit))
             {
                 view.FocusedRowHandle = hi.RowHandle;
                 view.FocusedColumn    = hi.Column;
                 view.ShowEditor();
                 //force button click
                 ButtonEdit edit = (view.ActiveEditor as ButtonEdit);
                 Point      p    = view.GridControl.PointToScreen(e.Location);
                 p = edit.PointToClient(p);
                 EditHitInfo ehi = (edit.GetViewInfo() as ButtonEditViewInfo).CalcHitInfo(p);
                 if (ehi.HitTest == EditHitTest.Button)
                 {
                     edit.PerformClick(ehi.HitObject as EditorButton);
                     ((DevExpress.Utils.DXMouseEventArgs)e).Handled = true;
                 }
             }
         }
     }
 }
Exemple #2
0
 private void repositoryItemButtonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
 {
     if (e.Button.Kind == ButtonPredefines.Ellipsis)
     {
         MessageBox.Show("This is a dialog box.");
     }
     if (e.Button.Kind == ButtonPredefines.Combo)
     {
         ButtonEdit                 editor = sender as ButtonEdit;
         ButtonEditViewInfo         evi    = editor.GetViewInfo() as ButtonEditViewInfo;
         EditorButtonObjectInfoArgs bvi    = evi.ButtonInfoByButton(e.Button);
         Point pt = new Point(bvi.Bounds.Left, bvi.Bounds.Bottom);
         pt = editor.PointToScreen(pt);
         popupMenu1.ShowPopup(pt);
     }
 }