以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 想获得容器所在form,应该用什么方法? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159634) |
-- 作者:wfkbabro -- 发布时间:2021/1/2 11:25:00 -- 想获得容器所在form,应该用什么方法? 大神们,请教一下 想获得容器 所在form,应该用什么方法? 容器是函数的一个传入参数,是不固定的,可能是各层级的控件、或容器、或容器 容器是: Forms("窗口1_MAIN").controls("TabControl1").TabPages(1) 目前 想用Parent 的 Typeof OBJ is来判断是否 form,但不知道 is 后写什么。 也想用 Forms("窗口1_MAIN").controls("TabControl1").TabPages(1).controls(0).form ,但没试成功。 [此贴子已经被作者于2021/1/2 11:24:45编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/3 10:58:00 -- Output.Show(Typeof Forms("窗口1_MAIN").controls("TabControl1").TabPages(1).parent Is C1.Win.C1Command.C1DockingTab)
|
-- 作者:wfkbabro -- 发布时间:2021/1/3 13:34:00 -- 谢谢蓝版,向上1级parent是 TabControl1,再上一级是 form,在用递归判断是form则中止而得到forms(..), 这应该用什么is ? 如果自己想百度,应该怎么搜索能得到类似于“C1.Win.C1Command.C1DockingTab”的知识,感谢。 output.show(Forms("窗口1_MAIN").controls("TabControl1").TabPages(1).parent.parent.name) |
-- 作者:有点蓝 -- 发布时间:2021/1/3 14:25:00 -- 特殊一点的如TabPages,只能是另外处理一下 Dim tab As WinForm.TabControl = Forms("窗口1_MAIN").Controls("TabControl1") output.show(Forms("窗口1").controls(tab.TabPages(0).parent.name).Form.name) |
-- 作者:wfkbabro -- 发布时间:2021/1/3 15:59:00 -- 谢谢蓝版。 针对某些层级的容器或控件,.form是失效的。 比如这个会报错:output.show(Forms("窗口1_MAIN").controls("TabControl1").TabPages(1).Form.name) =>未找到类型"TabPage"的公共成员"Form" 而您也给出了针对这些特殊情况的处理方法(如上楼),谢谢。
尝试用 \' output.show(Forms("窗口1_MAIN").controls("TabControl1").TabPages(1).parent.parent.name) 得到的窗口名相同,但类型完全不一样: \' 窗口1_MAIN
所以想学习一下怎么去查类似的参考,感觉foxtable很多细节需要自己去学习:) [此贴子已经被作者于2021/1/3 16:00:05编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/3 16:16:00 -- 经验+百度+系统学习一下vb.net |