Foxtable(狐表)用户栏目专家坐堂 → [求助]用快捷键上下移动行后焦点落在最上或最下一行


  共有1881人关注过本帖树形打印复制链接

主题:[求助]用快捷键上下移动行后焦点落在最上或最下一行

帅哥哟,离线,有人找我吗?
huangfanzi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]用快捷键上下移动行后焦点落在最上或最下一行  发帖心情 Post By:2021/9/21 11:03:00 [只看该作者]

论坛上也找了下相关帖子,发现在19时就有人提出相关问题,http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=141617&replyID=&skin=1
刚才试了下,搞个按钮,并在按钮中执行相关代码,上下移动行后的焦点问题是正常的,但用快捷键不行,上移一行后,焦点会落在第一行,下移一行后,焦点落在了最后一行
Dim tb As WinForm.Table = e.Form.Controls("生产计划辅表")
Dim t As Table = tb.Table
    Select Case e.KeyCode
        Case Keys.Up
            Syscmd.Row.MoveUp()
        Case Keys.Down
            Syscmd.Row.MoveDown()
        Case Keys.Add
            Syscmd.Row.AddNew()
        Case Keys.Multiply
            Syscmd.Row.AddNews()
        Case Keys.Subtract
            Dim Result As DialogResult
            Result = MessageBox.Show("确认要删除行吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
            If Result = DialogResult.Yes Then               
                With t
                    For i As Integer = .BottomPosition To .TopPosition Step -1
                        .Rows(i).Delete()
                    Next
                End With
            End If
    End Select
End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105957 积分:538860 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/22 9:30:00 [只看该作者]

加一句,取消默认行为

e.cancel = True
Select Case e.KeyCode
    Case Keys.Up
        Syscmd.Row.MoveUp()
    Case Keys.Down
        Syscmd.Row.MoveDown()
End Select

 回到顶部