예제 #1
0
        private void Editor_MouseDown(object sender, MouseEventArgs e)
        {
#if DebugTest
            Log += "-Editor_MouseDown";
#endif
            if (e.Button == MouseButtons.Left)
            {
                Int32 currentTime = System.Environment.TickCount;
                if ((mouseDownTime <= mouseUpTime) && (mouseUpTime <= currentTime) && (currentTime - mouseDownTime < DoubleClickTime))
                {
                    isDoubleClicking = true;
                    RepositoryItemPopupBase repositoryItemPopupBase = null;
                    if (gridView.FocusedColumn != null)
                    {
                        repositoryItemPopupBase = gridView.FocusedColumn.ColumnEdit as RepositoryItemPopupBase;
                    }
                    if (gridView.ActiveEditor.IsModified && gridView.OptionsBehavior.EditorShowMode == EditorShowMode.MouseDown && gridView.OptionsView.ShowButtonMode == ShowButtonModeEnum.ShowAlways ||
                        (repositoryItemPopupBase != null) && (!repositoryItemPopupBase.ReadOnly) && (repositoryItemPopupBase.ShowDropDown == ShowDropDown.DoubleClick) && (gridView.FocusedColumn != null) && (gridView.FocusedColumn.OptionsColumn.AllowEdit))
                    {
                    }
                    else
                    {
                        if (DataRowDoubleClick != null)
                        {
                            if (gridView.ActiveEditor != null)
                            {
                                gridView.ActiveEditor.DoValidate();
                                gridView.PostEditor();
                                gridView.CloseEditor();
                            }
                            if (e is DXMouseEventArgs)
                            {
                                ((DXMouseEventArgs)e).Handled = true;
                            }
                            DataRowDoubleClick(this, e);
                        }
                    }
                    mouseDownTime = 0;
                }
                else
                {
#if DebugTest
                    Log += string.Format("({0},{1},{2},{3})", mouseDownTime, mouseUpTime, currentTime, DoubleClickTime);
#endif
                }
            }
        }