From 3faef16a06b3654fa813c5de07700105184633e2 Mon Sep 17 00:00:00 2001 From: John Date: Wed, 1 Jun 2011 19:44:04 +0000 Subject: [PATCH] fixed logic that selects the table cell under the mouse pointer when the table is first clicked upon. --- PROMS/Volian.Controls.Library/VlnFlexGrid.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs index d1620667..5990a57e 100644 --- a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs +++ b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs @@ -649,6 +649,14 @@ namespace Volian.Controls.Library this.MouseDown += new MouseEventHandler(VlnFlexGrid_MouseDown); } + private bool _FirstEntry = false; + + public bool FirstEntry + { + get { return _FirstEntry; } + set { _FirstEntry = value; } + } + void VlnFlexGrid_MouseDown(object sender, MouseEventArgs e) { int left = 0; @@ -675,7 +683,11 @@ namespace Volian.Controls.Library //Console.WriteLine("Mousedown Row, Col [{0},{1}]", row, col); erow = Math.Max(erow, row); ecol = Math.Max(ecol, col); - Select(strow, stcol, erow, ecol); + if (_FirstEntry) + Select(row, col); + else + Select(strow, stcol, erow, ecol); + _FirstEntry = false; } @@ -747,11 +759,13 @@ namespace Volian.Controls.Library break; case Keys.Right: if (e.Shift) return; + if (IsRoTable) Select(Rows.Count - 1, Cols.Count - 1); _tableCellEditor.StepRTB_ArrowPressed(e.Control ? E_ArrowKeys.CtrlRight : E_ArrowKeys.Right); e.Handled = true; break; case Keys.Down: if (e.Shift) return; + if (IsRoTable) Select(Rows.Count - 1, 0); _tableCellEditor.StepRTB_ArrowPressed(e.Control ? E_ArrowKeys.CtrlDown : E_ArrowKeys.Down); e.Handled = true; break;