1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85:
| private void DGV_CellValueChanged(object sender, DataGridViewCellEventArgs e) { int x = e.ColumnIndex; int y = e.RowIndex;
if (y < 0) { return; }
double v = (double)((DataGridView)sender).Rows[y].Cells[x].Value;
if (x >= Matrix.width || y >= Matrix.height || x < 0 || y < 0) { System.Console.WriteLine("Change at " + x.ToString() + "," + y.ToString() + ": " + v.ToString()); return; } else { Matrix.data[y, x] = v; } doMatrixChange(); }
private void DGV_CellValueNeeded(object sender, DataGridViewCellValueEventArgs e) { int x = e.ColumnIndex; int y = e.RowIndex;
if (x >= Matrix.width || y >= Matrix.height || x < 0 || y < 0) { e.Value = null; } else { e.Value = Matrix.data[y, x]; } }
private void DGV_ColumnsAltered(object sender, DataGridViewColumnEventArgs e) { e.Column.HeaderText = e.Column.Index.ToString(); e.Column.Width = 65;
}
private void DGV_RowsAltered(object sender, DataGridViewRowsAddedEventArgs e) { }
private void DGV_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { DataGridView dgv = (DataGridView)sender;
int RowNumWidth = dgv.RowCount.ToString().Length; String RowNumber = (e.RowIndex + 1).ToString();
SizeF Sz = e.Graphics.MeasureString(RowNumber, dgv.Font);
if (dgv.RowHeadersWidth < (int)(Sz.Width + 20)) dgv.RowHeadersWidth = (int)(Sz.Width + 20);
e.Graphics.DrawString( RowNumber.ToString(), dgv.Font, SystemBrushes.ControlText, e.RowBounds.Location.X + dgv.RowHeadersWidth - 3 - Sz.Width, e.RowBounds.Location.Y + ((e.RowBounds.Height - Sz.Height) / 2)); } |