以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  狐爸:ctrl+d 快捷键如何开启  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=21000)

--  作者:hp001
--  发布时间:2012/6/27 2:00:00
--  狐爸:ctrl+d 快捷键如何开启

狐爸:ctrl+d 快捷键如何开启 ,项目编译后这个命令就没掉了,请问怎么开启,这个命令是拷贝上一格的内容,不是克隆行。

 

按"Ctrl + D"可以将上一行相同位置单元格的内容复制到当前单元格。

[此贴子已经被作者于2012-6-27 2:02:45编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/6/27 8:12:00
--  

这个是菜单的命令,可能你的自定义菜单没有加上这个命令。
如果你不想设计菜单,可以用keydown事件:
 
If e.Control = True AndAlso e.KeyCode = Keys.D Nothing Then

   Dim r As Row = e.Tables.Current \'当前行

   Dim c AS integer = e.Table.Cols(e.Table.Colsel) ‘当前列位置

   Dim cn As String = e.Table.Cols(c) ’当前列名

   if r.Index < e.Table.Rows.Count  -1 Then  ‘如果不是最后一行

            dim r2 as row = e.Table.Rows(r.Index - 1) ’取得上一行

            r1(cn) = r2(cn)

   End if

End if


--  作者:yankunhao
--  发布时间:2012/6/27 10:02:00
--  

老大,你这段代码有问题啊,我试过了,不行,改成下面这样的也不行

If e.Control = True AndAlso e.KeyCode = Keys.D Then

   Dim r As Row = e.Table.Current \'当前行

   Dim n As Integer = e.Table.Cols(e.Table.Colsel).Index \'当前列位置

   Dim cn As String = e.Table.Cols(n).name \'当前列名

   If r.Index < e.Table.Rows.Count  -1 Then  \'如果不是最后一行

            Dim r2 As Row = e.Table.Rows(r.Index - 1) \'取得上一行

            r("cn") = r2("cn")

   End If

End If


--  作者:hp001
--  发布时间:2012/6/27 15:21:00
--  

那我要听谁的。有测试过吗,那代码 两个都不生效,是编译后的程序不生效

[此贴子已经被作者于2012-6-27 15:26:43编辑过]