//fire the bool change event if the value changes private void ManageBoolValueChanging(int rowNum, int colNum) { Point mousePos = this.DataGridTableStyle.DataGrid.PointToClient(Control.MousePosition); DataGrid dg = this.DataGridTableStyle.DataGrid; bool isClickInCell = ((Control.MouseButtons == MouseButtons.Left) && dg.GetCellBounds(dg.CurrentCell).Contains(mousePos)); bool changing = dg.Focused && (isClickInCell || GetKeyState(VK_SPACE) < 0); // or spacebar if (!lockValue && beingEdited && changing && saveRow == rowNum) { saveValue = !saveValue; lockValue = false; //fire the event if (BoolValueChanged != null) { BoolValueChangedEventArgs e = new BoolValueChangedEventArgs(rowNum, colNum, saveValue); BoolValueChanged(this, e); } } if (saveRow == rowNum) { lockValue = false; } }
//fire the bool change event if the value changes private void ManageBoolValueChanging(int rowNum, int colNum) { Point mousePos = this.DataGridTableStyle.DataGrid.PointToClient(Control.MousePosition); DataGrid dg = this.DataGridTableStyle.DataGrid; bool isClickInCell = ((Control.MouseButtons == MouseButtons.Left) && dg.GetCellBounds(dg.CurrentCell).Contains(mousePos) ); bool changing = dg.Focused && ( isClickInCell || GetKeyState(VK_SPACE) < 0 ); // or spacebar if(!lockValue && beingEdited && changing && saveRow == rowNum) { saveValue = !saveValue; lockValue = false; //fire the event if(BoolValueChanged != null) { BoolValueChangedEventArgs e = new BoolValueChangedEventArgs(rowNum, colNum, saveValue); BoolValueChanged(this, e); } } if(saveRow == rowNum) lockValue = false; }