Foxtable(狐表)用户栏目专家坐堂 → 求功能实现,主窗口中当前控件不包含表控件的时候


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

主题:求功能实现,主窗口中当前控件不包含表控件的时候

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


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
求功能实现,主窗口中当前控件不包含表控件的时候  发帖心情 Post By:2016/4/8 8:15:00 [只看该作者]



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关于测试.foxdb

[此贴子已经被作者于2016/4/8 11:42:55编辑过]

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


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
  发帖心情 Post By:2016/4/8 8:19:00 [只看该作者]

如图
图片点击可在新窗口打开查看此主题相关图片如下:tt.png
图片点击可在新窗口打开查看

如图,最底下那个提示是要实现的功能,代码在项目的systemidle里面,要求是,因为这是表里的主窗口所以底下提示默认的是当前表,我想实现是,比如主界面这个窗口里面没有表,下面的那个就提示当前窗口没有表,部门因为点开之后就有个窗口表在里面,所以就直接提示是哪个表,麻烦的是公司,因为里面有个页面合集控件,默认打开第一页,第一页里面没有表,用代码切换到第二页的时候,表在第二页上,当打开默认第一页的时候因为没有表也是提示当前窗口没有表,点开第二页的时候提示是哪个表。不知道我说的明不明白具体看下项目,谢谢啦。

[此贴子已经被作者于2016/4/8 8:22:59编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/8 8:50:00 [只看该作者]

用一个全局变量记录当前页,事件中遍历判断当前页是否包含表控件


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


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
这样的话  发帖心情 Post By:2016/4/8 8:53:00 [只看该作者]

主界面和那个部门是打开就有和打开就没有可以判断,但是公司那个里面有个页面合集,是有表控件的,但是默认第一样是没有表控件的,这个怎么弄,而且我这个代码是写在systemidle事件中的不能用e.form,难道将代码写在每个窗口的afterload事件中去?
[此贴子已经被作者于2016/4/8 9:12:46编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/8 9:41:00 [只看该作者]

根本就无法自动检测的。你必须去写每个窗口的事件,比如 tabcontrol的选择页事件。
[此贴子已经被作者于2016/4/8 9:41:01编辑过]

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


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
那样的话相当麻烦了  发帖心情 Post By:2016/4/8 9:52:00 [只看该作者]

那样的话相当麻烦了,每个窗口都要写代码判断啊?或者到了页面合集的时候每个页面切换都要判断啊?如果这样的话那项目命令里面的systemidle就不用写代码了,没有用systemidle代码替代每个窗口都判断的方法吗?
[此贴子已经被作者于2016/4/8 9:54:13编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/8 10:06:00 [只看该作者]

1、获取到当前窗口是什么窗口;

 

2、循环窗口所有控件,寻找TabControl;

 

3、然后循环Tabcontrol的当前选中页,看有没有Table。


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


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
那样的意思也是有几个窗口就要在systemidle里面全部都列进去吗?  发帖心情 Post By:2016/4/8 10:21:00 [只看该作者]

那样的意思也是有几个窗口就要在systemidle里面全部都列进去吗?没有其他方法吗

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/8 10:23:00 [只看该作者]

以下是引用lovemaders在2016/4/8 10:21:00的发言:
那样的意思也是有几个窗口就要在systemidle里面全部都列进去吗?没有其他方法吗

 

谁叫你全部列出来啊?当前窗口你获取不到?知道窗口就可以遍历所有的控件啊。


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


加好友 发短信
等级:三尾狐 帖子:723 积分:5058 威望:0 精华:0 注册:2014/12/30 16:52:00
这个代码就不对,第一个IF没执行,这是窗口afterload  发帖心情 Post By:2016/4/8 10:54:00 [只看该作者]

If Forms("底部共有").Opened Then
Dim lb2 As WinForm.Label = Forms("底部共有").Controls("label2")
  For  Each c  As WinForm.Control  In Forms("部门").Controls
    If Typeof c Is winform.Table Then
         Dim tw  As WinForm.Table = Forms("部门").Controls("table1")  'c '使用特定类型的变量引用控件      
         Dim Str2 As String = "正操作表名为:" & "【" & tw.Name & "】" & "  总行数:"
         '''Str2 = Str2 & t.Rows.Count & "  当前行:" & (t.Position + 1)
    End If
    '''If Typeof c Is WinForm.Table = False  Then  '判断控件是否是文本框
            '''lb2.text = "当前窗口没有表"          
    '''End  If
  Next
End If
[此贴子已经被作者于2016/4/8 11:00:11编辑过]

 回到顶部
总数 19 1 2 下一页