日期:2014-05-17  浏览次数:21275 次

c# datagridview回车后光标跳转指定单元格问题 急
大家好,情况是这样的刚执行程序后 datagridview的 rows是1 我在回车后光标会跳到我指定的单元格,但是添加多行后,我又回到第一行第一列在敲回车后光标竟然跳到下一行指定的单元格而不是当前行指定的单元格,而且继续的操作话它又往下一行跳,请问这种情况如何处理 忙烦高手请教。

------解决方案--------------------
C# code

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            base.ProcessCmdKey(ref msg, keyData);
            int WM_KEYDOWN = 256;
            int WM_SYSKEYDOWN = 260;
            bool _disable = false;
            if (msg.Msg == WM_KEYDOWN || msg.Msg == WM_SYSKEYDOWN)
            {

                if (keyData == Keys.Enter )
                {
                    switch (dg1.CurrentCellAddress.X)
                    {
                        case 0:
                            SendKeys.Send("{Tab}");
                            SendKeys.Send("{Tab}");
                            SendKeys.Send("{Tab}");
                            SendKeys.Send("{Tab}");
                            _disable = true;
                            break;
                        case 1:
                            SendKeys.Send("{Tab}");
                            SendKeys.Send("{Tab}");
                            SendKeys.Send("{Tab}");
                            _disable = true;
                            break;
                        case 2:
                            SendKeys.Send("{Tab}");
                            SendKeys.Send("{Tab}");
                            _disable = true;
                            break;
                        case 3:
                            SendKeys.Send("{Tab}");
                            _disable = true;
                            break;
                        case 4:
                            SendKeys.Send("{Tab}");
                            _disable = true;
                            break;                                
                    }
                }
            }
            return _disable;
        }