找回密码
 立即注册

QQ登录

只需一步,快速开始

x_g
银牌会员   /  发表于:2015-10-21 13:30:00
11#
回复 10楼rbgongming的帖子

谢谢您的帮忙,我自己发现只要设置属性ExitOnArrayKey就可以上下移动了,但是出现了当移动到表格的最后一行的时候,按照理解应该就不动了,可是却跳到了最后一行的最后一格Cell上了
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-10-21 14:20:00
12#
回复 11楼x_g的帖子

你好,请问按照10楼的代码不能解决你上下键的问题吗?
10的代码我试过了,应该和你的需求是一样的。
把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
x_g
银牌会员   /  发表于:2015-10-21 14:58:00
13#
回复 12楼rbgongming的帖子

不好意思,我试过了,如果不把ExitOnArrayKey设为True的话,10楼的代码和在界面上设置MoveUp和MoveDown效果是一样的
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-10-21 15:14:00
14#
回复 13楼x_g的帖子

你好,非常抱歉没有找到你说的属性,我这边目前没有
看到,而且我在帮助文档上没有看到该属性,请问这个
属性是控件上的吗?还是你代码中自己定义出来的呢?
把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
x_g
银牌会员   /  发表于:2015-10-21 15:42:00
15#
回复 14楼rbgongming的帖子

在Template的单元格Cell(GcTextBox)的属性
GcTextBox.ExitOnArrowKey = True
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-10-21 15:54:00
16#
回复 15楼x_g的帖子

可以将你的代码上传一下吗?
我这边还是不能再现你的问题。
把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
x_g
银牌会员   /  发表于:2015-10-21 16:03:00
17#
回复 16楼rbgongming的帖子

非常感谢您,找到解决方案了,方法如下:
将在Template的单元格Cell(GcTextBox)的属性
GcTextBox.ExitOnArrowKey = True
这样做以后,虽然可以上下移动,但是出现了当移动到表格的最后一行的时候,继续按下键,始终会跳到最后一个Cell上,需要补充如下代码
  Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As Object, ByVal e As GrapeCity.Win.MultiRow.EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing
        RemoveHandler e.Control.KeyDown, AddressOf editor_KeyDown
        AddHandler e.Control.KeyDown, AddressOf editor_KeyDown
    End Sub
  Private Sub editor_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
         If e.KeyCode = Keys.Down Then
            If Me.GcMultiRow1.CurrentRow.Index = Me.GcMultiRow1.RowCount - 1 Then
                Me.GcMultiRow1.CurrentCell = Me.GcMultiRow1.Rows(Me.GcMultiRow1.RowCount - 1).Cells(Me.GcMultiRow1.CurrentCell.CellIndex)
                Me.GcMultiRow1.Focus()
            Else
                Me.GcMultiRow1.CurrentCell = Me.dp_nc0232.Rows(Me.GcMultiRow1.CurrentRow.Index + 1).Cells(Me.GcMultiRow1.CurrentCell.CellIndex)
                Me.GcMultiRow1.Focus()
            End If

        End If
        If e.KeyCode = Keys.Up Then
            If Me.GcMultiRow1.CurrentRow.Index = 0 Then
                e.SuppressKeyPress = True
                Me.GcMultiRow1.CurrentCell = Me.GcMultiRow1.Rows(0).Cells(Me.GcMultiRow1.CurrentCell.CellIndex)
                Me.GcMultiRow1.Focus()
            Else
                Me.GcMultiRow1.CurrentCell = Me.GcMultiRow1.Rows(Me.GcMultiRow1.CurrentRow.Index - 1).Cells(Me.GcMultiRow1.CurrentCell.CellIndex)
                Me.GcMultiRow1.Focus()

            End If
        End If
    End Sub
回复 使用道具 举报
rbgongming
论坛元老   /  发表于:2015-10-21 16:07:00
18#
回复 17楼x_g的帖子

不用客气,欢迎你以后有问题继续来和我们探讨。
本人也是刚接触这个空间,对一些知识我也不是
很了解,给你带来的不便,非常抱歉。
把简单的事做好就是不简单,
把平凡的事做好就是不平凡。
回复 使用道具 举报
x_g
银牌会员   /  发表于:2015-10-21 16:08:00
19#
回复 18楼rbgongming的帖子

您已经帮我很大忙了,非常感谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-10-21 18:05:00
20#
回复 19楼x_g的帖子

谢谢您的反馈以及详细的代码的解决方案,也非常谢谢@rbgongming 的热心帮助。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部