Foxtable(狐表)用户栏目专家坐堂 → 求助:如何实现当前窗体中的按钮标题 点击后 自动将对应按钮标题的窗体加入窗体呢?目前已经实现单个按钮加入,如何实现通用多个按钮加入,如逛逛老师的那种任务栏名称通用获取。


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

主题:求助:如何实现当前窗体中的按钮标题 点击后 自动将对应按钮标题的窗体加入窗体呢?目前已经实现单个按钮加入,如何实现通用多个按钮加入,如逛逛老师的那种任务栏名称通用获取。

帅哥哟,离线,有人找我吗?
李孝春
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)加入判断 Select Case e.Se...  发帖心情 Post By:2015/10/9 20:42:00 [只看该作者]

大红袍老师 谢谢  代码如下完美运行

Select Case e.Sender.Name
    Case "Button1", "Button2","合同录入管理","设计人员管理"      
        e.Form.StopRedraw()
        '动态增加或删除控件的代码     
        Dim PB As WinForm.Panel = e.Form.Controls("Panel1")
        Dim Name As String = e.Sender.Text
        Forms(Name).OPEN(-1000,-1000)
        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)
        e.Form.ResumeRedraw()      
End Select

 

进一步深入,如果我想把任务栏里的选择不同连接项的窗体加入在这个主窗体点击代码 是不是也要加一个判断

Select Case e.link.Name  直接就报错了

下列代码该如何进行代码变通呢

Dim PB As WinForm.Panel = e.Form.Controls("Panel1")
Dim Name As String = e.Link.Name
Forms(Name).OPEN(-1000,-1000)
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)

 


 


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


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

如果全都是,就不需要加判断,如果有个别link不是,就必须加入判断。

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)如果全都是,就不需要加判断,如果有...  发帖心情 Post By:2015/10/9 21:04:00 [只看该作者]

如果直接代码如下:

Select Case e.Sender.Name
    Case "Button1", "Button2","合同录入管理","设计人员管理"      
        e.Form.StopRedraw()
        '动态增加或删除控件的代码     
        Dim PB As WinForm.Panel = e.Form.Controls("Panel1")
        Dim Name As String = e.Sender.Text
        Forms(Name).OPEN(-1000,-1000)
        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)
        e.Form.ResumeRedraw()      
End Select

 

Dim PB1 As WinForm.Panel = e.Form.Controls("Panel1")
Dim Name1 As String = e.Link.Name
Forms(Name1).OPEN(-1000,-1000)
Forms(Name1).BaseForm.TopLevel = False
Forms(Name1).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Forms(Name1).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill

PB1.BaseControl.Controls.Clear
PB1.BaseControl.Controls.add(Forms(Name1).BaseForm)

 

运行报错如下:

 


图片点击可在新窗口打开查看此主题相关图片如下:7b68.tmp.jpg
图片点击可在新窗口打开查看

 

红色部分代码是不是需要先做一个定义变量 然后获取值呢?

如果定义变量为

Dim abc As WinForm.TopicBar = e.Form.Controls("TopicBar1")

发现该变量属性没有Link.Name的方法 求解


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


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

写到控件的事件啊,不能写到click事件啊


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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(大红袍)写到控件的事件啊,不能写到click事件...  发帖心情 Post By:2015/10/9 21:13:00 [只看该作者]

之前就写在控件事件里的

 

想进一步深化 直接放在窗体全局点击事件中,看样子这个是不行的,只能两种方法结合了,谢谢大红袍老师!


 回到顶部
总数 15 上一页 1 2