Foxtable(狐表)用户栏目专家坐堂 → 单元格中如何识别键盘按键


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

主题:单元格中如何识别键盘按键

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


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
单元格中如何识别键盘按键  发帖心情 Post By:2016/7/26 22:29:00 [只看该作者]

 红袍老师,在单元格中,首先判断是特定的这一列:

If e.Col.Name = "文件名称及链接" Then

如果双击就直接打开文件,打开文件的代码已经有了,直接放在表属性的DoubleClick里面,

但是,如果按住键盘的Ctrl键双击的话,就另存为文件,如何在单元格中判断键盘上按下的是Ctrl键呢?

e.Control = True

在双击的事件里不能用啊。

 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/26 22:32:00 [只看该作者]

    这是白天用的在 KeyDown中这么设置,按键盘任意键就另存,但是发现用的时候很不方便,所以,不能放在KeyDown里面,或者KeyDown里面要识别键盘是按得Ctrl键才执行下面的代码,不然的话,好像鼠标右键也会执行。

If e.Table.Current Is Nothing Then Return
Dim c As Col = e.Table.Cols(e.Table.ColSel)
If c.name = "文件名称及链接" Then
    Dim dlg As new SaveFileDialog
   
dlg.FileName = FileSys.GetName(e.Table.Current(c.Name))
    If dlg.ShowDialog = DialogResult.OK Then
        e.cancel = True
        Dim ftp As FTPClient = c.DataCol.FTPClient
        Dim path As String = ProjectPath & "RemoteFiles\" & FileSys.GetName(e.Table.Current(c.Name))
        ftp.Download(e.Table.Current(c.Name), path, True)
       
        FileSys.CopyFile(path, dlg.FileName, True)
        msgbox("另存成功")
    End If
End If

[此贴子已经被作者于2016/7/26 22:34:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:682 积分:4871 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/7/26 22:38:00 [只看该作者]

 Dim c As Col = e.Table.Cols(e.Table.ColSel)
If c.name = "文件名称及链接" Then
If e.Control = True AndAlso e.Table.Current IsNot Nothing Then
MessageBox.show("12")   
End If
End If

这样搞定了。

 回到顶部