Foxtable(狐表)用户栏目专家坐堂 → 窗口中的控件代码可以通过其他控件来触发执行吗?


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

主题:窗口中的控件代码可以通过其他控件来触发执行吗?

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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
窗口中的控件代码可以通过其他控件来触发执行吗?  发帖心情 Post By:2012/11/27 18:53:00 [只看该作者]

各位老师,

 

如下图两个以上的目录树,

 


图片点击可在新窗口打开查看此主题相关图片如下:360截图20121127184019139.jpg
图片点击可在新窗口打开查看

 

如果勾选或取消勾选左边的节点复选框时通过代码自动更改右边对应节点的复选框的选中状态,

 

我想问的是在左边目录树点选时可以触发右边目录树节点的AfterCheckNode事件代码,让它执行吗?

 


谢谢!


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/11/27 20:08:00 [只看该作者]

这样?

 

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView2")
For Each nd As WinForm.TreeNode In trv.AllNodes
    If nd.Text.IndexOf(e.Node.name) >= 0 Then
        nd.Checked = e.Node.Checked
    End If
Next


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


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/11/27 20:42:00 [只看该作者]

谢谢CZY,两个目录树同时选中的代码已经有了

tr1.SelectedNode = e.Node
    For Each nd As WinForm.TreeNode In tr2.AllNodes
      If nd.FullPath = e.node.FullPath Then
         nd.Checked = e.Node.checked
         tr2.SelectedNode = nd
      End If
    Next

 

我想请教的是,点选左边的目录树节点的复选框时,通过上述代码,右边的对应节点的复选框状态也会改变,这个通过代码改变右边复选框的动作能否触发右边目录树的AfterCheckNode事件代码自动执行?

 

 

 

 

 

 


[此贴子已经被作者于2012-11-27 20:42:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/11/27 21:09:00 [只看该作者]

按理是肯定能行的。

不过刚才试了一下,只有在右侧目录树节点选择过一次(触发过一次),然后在左侧操作才会起效,原因我就搞不明白了。


 回到顶部
帅哥哟,离线,有人找我吗?
zpx_2012
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/11/27 21:48:00 [只看该作者]

谢谢了,因为我的两个目录树的数据是来自不同的表,如果能在一个目录树中的操作能触发另一个目录树中的事件这样更新两个表的数据代码就简洁了很多(就好像同时操作了两个目录树一样),再说吧,我看看还有没有其他办法。

 回到顶部
帅哥哟,离线,有人找我吗?
e-png
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2012/11/27 22:01:00 [只看该作者]

在afterchecknode 和 afterselectnode同时设置一样的代码,好像可以。

 

不过既然两个目录树一样,不如直接在一个目录树中同时操作两个表呢。


 回到顶部
帅哥哟,离线,有人找我吗?
zpx_2012
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:976 积分:8521 威望:0 精华:0 注册:2012/2/9 16:35:00
  发帖心情 Post By:2012/11/27 22:16:00 [只看该作者]

呵呵,我那个只是举个例子而已,实际的数据表一个是查看编辑权限,一个是工作流的设置,排在一起,主要是方便设置者操作时一目了然的看见而已。

 

因为我要问的只是在一个目录树中操作如何触发另外一个目录树的事件,所以就没有贴出图来。就象datacolchanged事件一样,通过任何其他地方的代码改变都可以让其执行。


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/28 10:30:00 [只看该作者]

 要么用窗口的全局事件,要么,定义成内部函数,在需要调用的时候执行一下这个内部函数。
[此贴子已经被作者于2012-11-28 10:30:31编辑过]

 回到顶部