以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 菜单编辑器问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144284) |
-- 作者:狐表(小白) -- 发布时间:2019/12/16 11:46:00 -- 菜单编辑器问题 老师,你好,由窗口菜单编辑器设计的“主菜单”下类型为MenuItem的最底层子项,在窗口ItemClick代码下添加什么代码,可以做到像窗口目录树双击事件代码(如下)那样,在控件页面集合新增并打开事先做的对应窗口?谢谢! NodeMouseDoubleClick: If e.Node.Level = 1 Then Dim t As WinForm.TabControl = Forms("敏捷系统框架").Controls("TabControl1") Dim p = t.TabPages(e.Node.Text) If p IsNot Nothing Then t.SelectedPage = p Return End If p = t.TabPages.Add(e.Node.Text ,e.Node.Text) Forms(e.Node.Text).OPEN(-1000,-1500) Forms(e.Node.Text).baseform.Dock = System.Windows.Forms.DockStyle.Fill Forms(e.Node.Text).baseform.TopLevel = False Forms(e.Node.Text).baseform.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None p.Controls.Add(Forms(e.Node.Text).baseform) t.SelectedPage = p Forms(e.Node.Text).Show() End If
[此贴子已经被作者于2019/12/16 12:01:45编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/16 12:12:00 -- 参考:http://www.foxtable.com/webhelp/topics/3112.htm e.Node.Text改为e.StripItem.Text
|
-- 作者:狐表(小白) -- 发布时间:2019/12/16 14:04:00 -- 谢谢老师!但是我想不按照帮助那样对每一个子项按钮都进行判断,只是打开子项按钮对应的窗口,具体操作都由窗口控件的代码执行,如何让系统判断我点击的不是“主菜单”的第一层SplitButton类型的按钮,而是最底层的子项,不然第一点击SplitButton类型的按钮进行下拉选择时,系统就报错判断有没有对应的窗口!谢谢!代码如下: ItemClick:
If e.StripItem.Items IsNot Nothing Then Dim t As WinForm.TabControl = Forms("敏捷系统框架").Controls("TabControl1") Dim p = t.TabPages(e.StripItem.Text) If p IsNot Nothing Then t.SelectedPage = p Return End If p = t.TabPages.Add(e.StripItem.Text ,e.StripItem.Text) Forms(e.StripItem.Text).OPEN(-1000,-1500) Forms(e.StripItem.Text).baseform.Dock = System.Windows.Forms.DockStyle.Fill Forms(e.StripItem.Text).baseform.TopLevel = False Forms(e.StripItem.Text).baseform.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None p.Controls.Add(Forms(e.StripItem.Text).baseform) t.SelectedPage = p Forms(e.StripItem.Text).Show() End If [此贴子已经被作者于2019/12/16 14:04:30编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/16 14:13:00 -- if e.Strip.text= “主菜单” andalso e.StripItem.Items.count = 0 then 上面的代码 end if
|
-- 作者:狐表(小白) -- 发布时间:2019/12/16 20:14:00 -- 谢谢老师!不过代码报错!我把text改成name就行了! if e.Strip.name = “主菜单” andalso e.StripItem.Items.count = 0 then
|
-- 作者:狐表(小白) -- 发布时间:2019/12/16 21:04:00 -- [此贴子已经被作者于2019/12/17 8:07:10编辑过]
|