回 帖 发 新 帖 刷新版面

主题:关于DataGridView的小问题

.NET 2005 默认情况下没有DataGrid控件(当然也可以通过选择项,将它调出来)。

DataGridView相当于是DataGrid的升级控件。

小弟碰到的问题如下:
想要让键盘输入 Enter 的时候,让表格内的焦点向右移一格(也可以说是相当于按了键盘的Tab键)
代码如下:

    [color=0000FF]Private Sub[/color] DataGridView1_KeyPress([color=0000FF]ByVal[/color] sender [color=0000FF]As Object[/color], [color=0000FF]ByVal[/color] e [color=0000FF]As System.Windows.Forms.KeyPressEventArgs[/color]) [color=0000FF]Handles[/color] DataGridView1.KeyPress
        [color=0000FF]If[/color] e.KeyChar = Chr(13) [color=0000FF]Then[/color]
            SendKeys.Send([color=800000]"{Right}"[/color])
        [color=0000FF]End If
    End Sub
[/color]

运行的时候,按回车键,焦点向右边和下面都走了一个—_—.
估计,Right 和 Enter 键都执行了吧。
这个问题有没有好的解决方法呢?
比如说,如何取消掉 Enter的这个键盘输入中断呢?
或者有没有什么好的建议。

回复列表 (共1个回复)

沙发

问题已解决!
就是在程序中加入以下函数:
    Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
        If keyData = Keys.Enter Then
            System.Windows.Forms.SendKeys.Send("{tab}")
            Return True
        End If
    End Function

即可;

我来回复

您尚未登录,请登录后再回复。点此登录或注册