以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助:目录树节点双击打开窗体,如果节点名称对应没有窗体,怎么判断呢?当无窗体时不提示,有窗体时则打开。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92416) |
-- 作者:李孝春 -- 发布时间:2016/11/3 1:16:00 -- 求助:目录树节点双击打开窗体,如果节点名称对应没有窗体,怎么判断呢?当无窗体时不提示,有窗体时则打开。 求助:目录树节点双击打开窗体,如果节点名称对应没有窗体,怎么判断呢?当无窗体时不提示,有窗体时则打开。 代码如下; If e.node.level=4 Then For Each frm As WinForm.Form In Forms \'Output.Show(frm.Name) If " "
Then 蓝色部分代码怎么写呢? Forms(e.node.text).show Else MessageBox.Show("无窗体") End If Next End If |
-- 作者:有点蓝 -- 发布时间:2016/11/3 8:40:00 -- If e.node.level=4 Then If Forms.Contains(e.node.text) Forms(e.node.text).show Else MessageBox.Show("无窗体") End If End If
|
-- 作者:李孝春 -- 发布时间:2016/11/3 9:12:00 -- 回复:(有点蓝)If e.node.level=4 Then  ... If e.node.level=4 Then If Forms.Contains(e.node.text) Then \'判断是否存在节点名的窗体,如果存在 Forms(e.node.text).show Else MessageBox.Show("无窗体") End If End If 没有起到效果哦 还是和顶楼图片一样弹出某个窗体不存在 改成下面的也一样无效! If Forms.Contains(e.node.text)= True Then \'判断是否存在节点名的窗体,如果存在
|
-- 作者:blackzhu -- 发布时间:2016/11/3 9:29:00 -- 代码肯定有效 你判断下究竟是第几个节点 明明只有 0 1 2 3 那来的4 |
-- 作者:有点蓝 -- 发布时间:2016/11/3 9:30:00 -- 这里代码没有问题,检查其它地方的代码。不行就上例子 [此贴子已经被作者于2016/11/3 9:29:52编辑过]
|
-- 作者:李孝春 -- 发布时间:2016/11/3 9:52:00 -- 回复:(有点蓝)这里代码没有问题,检查其它地方的代... 确实是红色部分代码有问题:【红色部分代码是实现在窗体中加入节点名称的窗体,不知道有没有办法实现以下代码完美配合呢?】 \'Dim PB As WinForm.Panel = e.Form.Controls("Panel1") \'Dim Name As String = e.node.Name \'Forms(Name).OPEN(-1000,-1500) \'Forms(Name).BaseForm.TopLevel = False \'Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None \'Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill \' \'PB.BaseControl.Controls.Clear \'PB.BaseControl.Controls.add(Forms(Name).BaseForm) If e.node.level=4 Then If Forms.Contains(e.node.text)= True Then \'判断是否存在节点名的窗体 Forms(e.node.text).show \'Else \'MessageBox.Show("无窗体") End If End If |
-- 作者:李孝春 -- 发布时间:2016/11/3 9:54:00 -- 回复:(blackzhu)?代码肯定有效 你判断下究竟是... 为了怕后续增加节点 所以多弄了几个 朱老师应该有办法实现节点数自动增加后,而不用修改这个数字的办法吧? 下面是想展开节点 结果出现如图错误,参照帮助搞的。
[此贴子已经被作者于2016/11/3 9:55:14编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/11/3 10:06:00 -- 回6楼 If e.node.level=4 Then If Forms.Contains(e.node.text)= True Then \'判断是否存在节点名的窗体 Dim PB As WinForm.Panel = e.Form.Controls("Panel1") Dim Name As String = e.node.text Forms(Name).OPEN(-1000,-1500) Forms(Name).BaseForm.TopLevel = False Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill PB.BaseControl.Controls.Clear PB.BaseControl.Controls.add(Forms(Name).BaseForm) Else MessageBox.Show("无窗体") End If End If |
-- 作者:有点蓝 -- 发布时间:2016/11/3 10:07:00 -- 回7楼 tv.ExpandAll
|
-- 作者:李孝春 -- 发布时间:2016/11/3 10:53:00 -- 回复:(有点蓝)回7楼tv.ExpandAll 不要全部展开节点哦 要的是只打开 贵州省 黔南州 县级院名 上述三个节点
|