public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle) { base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle); clsEventScriptEditor ctl = DataGridView.EditingControl as clsEventScriptEditor; ctl.Text = (Value.ToString() != null)?(Value as string):"OnLoad() {}"; ctl.Open(); }
public override void DetachEditingControl() { DataGridView dataGridView = this.DataGridView; if (dataGridView == null || dataGridView.EditingControl == null) { throw new InvalidOperationException("Cell is detached or its grid has no editing control."); } clsEventScriptEditor ctl = DataGridView.EditingControl as clsEventScriptEditor; if (ctl != null) { Value = ctl.Text; ctl.Parent = ctl.EditingPanel; ctl.EditingPanel = null; ctl.Close(); } base.DetachEditingControl(); }
public override void PositionEditingControl(bool setLocation, bool setSize, Rectangle cellBounds, Rectangle cellClip, DataGridViewCellStyle cellStyle, bool singleVerticalBorderAdded, bool singleHorizontalBorderAdded, bool isFirstDisplayedColumn, bool isFirstDisplayedRow) { clsEventScriptEditor ctl = DataGridView.EditingControl as clsEventScriptEditor; if (ctl == null) { return; } if (ctl.Parent != DataGridView.EditingPanel) { return; } ctl.Parent = ctl.ParentForm; Rectangle ctlSize = new Rectangle(new Point(cellBounds.Location.X, cellBounds.Location.Y), new Size(Math.Max(cellBounds.Width, 400), Math.Max(cellBounds.Height, ctl.Height))); base.PositionEditingControl(setLocation, setSize, ctlSize, ctlSize, cellStyle, singleVerticalBorderAdded, singleHorizontalBorderAdded, isFirstDisplayedColumn, isFirstDisplayedRow); ctl.Location = ctl.Parent.PointToClient(DataGridView.PointToScreen(cellBounds.Location)); ctl.EditingPanel = DataGridView.EditingPanel; ctl.BringToFront(); }