以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何在表格里,按ctrl+c的时候不复制表格当前的内容,而是响应keydown的ctrl+c的代码?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194117)

--  作者:ycwk
--  发布时间:2024/11/12 8:37:00
--  如何在表格里,按ctrl+c的时候不复制表格当前的内容,而是响应keydown的ctrl+c的代码?
如题: 我现在设置的ctrl+c代码,复制当前表格的二进制内容,代码如果把e.KeyCode = Keys.C  改成 e.KeyCode = Keys.T 就一切正常了, 但是我还是想用ctrl+c键,这样大家更习惯一些。
Dim cname As String = e.Table.cols(e.Table.colsel).name 
Dim TableName As String = e.Table.name
\'msgbox(TableName)


If cname = "FileName" Then
      Dim dr As DataRow = Tables("文件收发管理表").Current.DataRow
      Dim fl As String = ProjectPath & dr("FileName")
   \' MessageBox.show(fl) 
      
  If e.Control = True AndAlso e.KeyCode = Keys.C Then \'按下ctrl+C
     \'MessageBox.show("按下") 
     If dr.SQLLoadFile("FileUpload", fl) Then \'如果提取文件成功

     MessageBox.show(fl)
       \'Dim Proc As New Process \'打开文件
       \'Proc.File = fl
       \'Proc.Start()
           \'以下三行为将文件路径复制到剪贴板中
          \' Dim ls As New System.Collections.Specialized.StringCollection
          \' ls.add(fl)
          \' My.Computer.Clipboard.SetFileDropList(ls)

        Dim path As New System.Collections.Specialized.StringCollection
        path.Add(fl)
        My.Computer.Clipboard.SetFileDropList(path)

           
     Else
       Messagebox.Show("文件提取失败,可能并不存在文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
     End If 
  End If
End If \'如果 user.group="管理员" 结束
\'msgbox(2)

--  作者:有点蓝
--  发布时间:2024/11/12 8:42:00
--  
If e.Control = True AndAlso e.KeyCode = Keys.C Then \'按下ctrl+C
     e.Cancel = True
……