以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  模拟单击按钮的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63581)

--  作者:hzcaqjf
--  发布时间:2015/1/24 10:06:00
--  模拟单击按钮的问题
想达到的效果:
当CheckBox1处于选中状态时
编辑完TextBox1后,按Enter键,直接增加一行进行编辑(模拟单击"增加行"按钮)

窗口1中textbox1的keydown事件:
Dim btn As WinForm.Button = Forms("窗口1").Controls("Button1")
Dim cb1 As WinForm.CheckBox = e.Form.Controls("CheckBox1")
If cb1.Checked = True Then
    If  e.KeyCode = Keys.Enter Then
        btn.PerformClick()
        e.Cancel = True
    End If
End If
以上代码模拟不了窗口中"增加行"按钮.不知问题出在哪里?
用e.Control = True AndAlso e.KeyCode = Keys.A 组合按钮,似乎好一点,但需要按2次,
最好希望用Enter按钮,有办法吗?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目yy.foxdb



--  作者:Bin
--  发布时间:2015/1/24 10:47:00
--  
测试正常啊.没问题啊.
--  作者:hzcaqjf
--  发布时间:2015/1/24 11:23:00
--  
textbox1绑定到表A的第一列
当编辑完textbox1后,
手动点击"增加行"按钮(跳过第二至第四列),完全正常(表A的第一列能够录入数据,表A也能增加一行).
可是,当选中checkbox1后,再编辑完textbox1,按enter键(模拟点击"增加行"按钮)后,
表A虽能增加行,但第一列根本无数据.

--  作者:Bin
--  发布时间:2015/1/24 11:29:00
--  
增加行,新的行当然无数据源的啊.你想要数据.就在新增行事件复制

或者在 ADDnew 后获取行 为之赋值

如果你的意思是,取当前文本框的值  可以把代码写为

dim t as string = e.form.controls("textBox1").text
dim r as row = tables(X).addnew
r("第一列")=t