Foxtable(狐表)用户栏目专家坐堂 → [求助]PAN 添加名称和关闭按钮及单击事件


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

主题:[求助]PAN 添加名称和关闭按钮及单击事件

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/10/17 17:36:00 [只看该作者]

就是移除不掉 ,vars("p1_pidx")  是PNL的集合

 

Dim e As object=args(0)
Select Case e.sender.Gettype.name
    Case "panel"
        Dim btntype As String=e.sender.name.SPLIT("_")(1)
        Dim pgname As String=e.sender.name.SPLIT("_")(2)
        Select Case btntype
            Case "title"
                For Each c As String In vars("p1_pidx")
                    e.Form.controls(c).basecontrol.controls.Remove(e.Form.controls(c).basecontrol.controls("pnlsys_title_" & pgname))
                Next
               
                Dim SysCloseBut As New zxbCloseBut
                SysCloseBut.Top = 6
                SysCloseBut.left = e.Sender.width - SysCloseBut.width - 6
                SysCloseBut.name = "pnlsys_title_" & pgname
                e.sender.basecontrol.controls.add(SysCloseBut)
                      End Select
End Select

[此贴子已经被作者于2017/10/17 17:36:23编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/17 17:47:00 [只看该作者]

试试改成

 

For Each c As String In vars("p1_pidx")

    msgbox(c)
    e.Form.controls(c).basecontrol.controls.Remove(e.Form.controls(c).basecontrol.controls("pnlsys_title_" & c.name.split("_")(2)))
Next


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/10/18 9:12:00 [只看该作者]

老师,

 关闭的函数怎么写?

 

 

msgbox(args(0).name)

 

提示 索引超出了数组的界限

[此贴子已经被作者于2017/10/18 9:17:35编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/10/18 9:23:00 [只看该作者]

找到了 我再看看

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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/10/18 9:53:00 [只看该作者]

如何 显示 args(0).对应的窗口名称呢

 

args(0).form。name

显示错误,不是成员?

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/18 10:21:00 [只看该作者]

以下是引用blsu33在2017/10/18 9:53:00的发言:

如何 显示 args(0).对应的窗口名称呢

 

args(0).form。name

显示错误,不是成员?

 

 

 

建议给 SysCloseBut 添加一个属性,用来存放窗口对象。然后赋值

 

SysCloseBut.Form = e.Form

 

全局代码那里,在Class里面,要加上代码

 

Public form As Winform.Form = Nothing


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/10/18 11:25:00 [只看该作者]

最后一个问题

全局代码

'填充关闭背景,如何能添加条件,就是等于其上层的背景颜色,_MainPagesTabBackColorSelected在 panl 指定了颜色,当鼠标指向Tab控件时,颜色切换不来
Protected Overrides Sub OnPaintBackground(ByVal pevent As System.Windows.Forms.PaintEventArgs)
Dim g As Graphics = pevent.Graphics
g.Clear(_MainPagesTabBackColorSelected)
End Sub


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/18 11:36:00 [只看该作者]

全局代码里面Class里面,加入backcolor属性

 

Public backcolor As Color

 

你new之后,给其赋值

 

SysCloseBut.backcolor = color.red


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


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/10/18 12:58:00 [只看该作者]

老师

直接

SysCloseBut.backcolor = color.red 为什么不行呢


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/18 14:28:00 [只看该作者]

按照38楼操作。之后提示什么错误?

 

你下面的代码改了没有?

 

g.Clear(backcolor)


 回到顶部
总数 66 上一页 1 2 3 4 5 6 7 下一页