以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]代码执行顺序问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=99144)

--  作者:lzzhx
--  发布时间:2017/4/13 12:33:00
--  [求助]代码执行顺序问题
窗体中有一个树和一个表
窗体打开事件代码:
Vars("blnAutoRun") = true
  ‘代码段1

Vars("blnAutoRun") = false

树节点afterselectnode事件代码:
if Vars("blnAutoRun") = false then
  ’代码段2
endif

目的:窗体打开时不执行树节点afterselectnode事件代码中的代码段2,只有窗体打开后用鼠标或键盘选择树节点时才执行代码段2,现在做不到,窗体打开后直接就执行了代码段2,请问老师该如何解决

--  作者:lzzhx
--  发布时间:2017/4/13 14:23:00
--  
请老师们看看
--  作者:有点色
--  发布时间:2017/4/13 14:51:00
--  

窗口打开的时候,是不是TreeView直接得到焦点了?

 

你要把焦点设置在其他控件上才行,如 e.Form.controls("Textbox1").Select

 


--  作者:lzzhx
--  发布时间:2017/4/13 15:16:00
--  
TreeView没有直接得到焦点,只是在窗体打开时,用 BuildTree方法建立了树
--  作者:有点色
--  发布时间:2017/4/13 15:19:00
--  

肯定是获取到焦点了才会触发treeview的事件代码,afterload事件加上

 

e.Form.controls("Button1").Select


--  作者:lzzhx
--  发布时间:2017/4/13 15:38:00
--  
代码见附件:除了上述问题外,还有一个问题,在自动更新表及字段_tb更新_Click事件中标明了,有4个字段,1个可以置空值,其它3个置不了,请老师一块看看



--  作者:lzzhx
--  发布时间:2017/4/13 15:41:00
--  
附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自动更新表及字段.txt


--  作者:有点色
--  发布时间:2017/4/13 15:48:00
--  

1、这句代码不能写,如果写了,会触发treeview的事件

 

trv.SelectedNode = trv.AllNodes(0)

 

2、代码尝试改成

 

SystemReady = False

e.Row("主窗口名称") = Nothing
e.Row("主窗口ID") = Nothing
e.Row("树名称") = Nothing
e.Row("树节点关键字段") = Nothing
e.Row("修改树节点") = Nothing

SystemReady = True


--  作者:lzzhx
--  发布时间:2017/4/13 15:56:00
--  
谢谢老师了,按你说的修改后,第2个问题解决了,但第1个问题还是存在,就是窗体一打开就弹出消息框

MessageBox.Show("请选择具体的数据表!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)


--  作者:有点色
--  发布时间:2017/4/13 16:14:00
--  

这句代码,只有在点击目录树的时候才会弹出

 

MessageBox.Show("请选择具体的数据表!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information)

 

打开窗口,不会触发这句代码的执行的。你试试删除bin文件夹,重新打开项目。