DataGridView回车焦点横向移动

Posted Elcser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataGridView回车焦点横向移动相关的知识,希望对你有一定的参考价值。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (keyData == Keys.Enter)    //监听回车事件
            {
                if (dataGridViewX1.IsCurrentCellInEditMode)   //如果当前单元格处于编辑模式
                {
                    if (dataGridViewX1.CurrentCell.RowIndex == dataGridViewX1.Rows.Count - 1)
                    {
                        SendKeys.Send("{Tab}");
                    }
                    else
                    {
                        SendKeys.Send("{Up}");
                        SendKeys.Send("{Tab}");
                    }
                }
            }
            //继续原来base.ProcessCmdKey中的处理
            return base.ProcessCmdKey(ref msg, keyData);
        }

 

private void dataGridViewX1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                SendKeys.Send("{Tab}");
                e.Handled = true;
                if ((dataGridViewX1.FirstDisplayedScrollingColumnHiddenWidth > 0) && !dataGridViewX1.Columns[dataGridViewX1.SelectedCells[0].ColumnIndex].Frozen)
                {
                    dataGridViewX1.FirstDisplayedScrollingColumnIndex = dataGridViewX1.SelectedCells[0].ColumnIndex;
                }
            }
        }

以上是关于DataGridView回车焦点横向移动的主要内容,如果未能解决你的问题,请参考以下文章

DataGridView显示日期格式问题

BackgroundWorker 填充 DataGridView

C# datagridview获得焦点问题

点击enter回车键实现表单元素切换焦点效果

一个文本框点回车焦点移到下一个文本框?C#winform的

winform datagridview失去焦点的时候怎么添加行