以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  页面显示问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=66185)

--  作者:blsu33
--  发布时间:2015/3/31 17:52:00
--  页面显示问题

老师,

    Button 生成后,如何点击它,转到对应界面

 

 

 

Dim pidx As object
Dim tname As String
Dim idx As Integer
If e.Sender.Name.StartsWith("btn_tabcontrol") Then
    pidx = vars("p1_pidx")
    tname = e.Sender.Name.split("_")(1)
    idx = e.Sender.Name.split("_")(2).replace("pg", "")
End If
If pidx IsNot Nothing Then
    For Each k As String In pidx.keys  \'显示所有值
        Dim btn As WinForm.Button = e.Form.Controls(pidx(k))
        If pidx(k) = e.Sender.Name
            Dim tab As WinForm.TabControl = e.Form.Controls(tname)
            tab.SelectedIndex = idx
            \'tab.SelectedPage = tab.TabPages(pidx)     希望点击BUtton  相应的界面显示在最前面
            btn.BackColor = Color.red
        Else
            btn.BackColor = Color.white
        End If
    Next
End If

--  作者:blsu33
--  发布时间:2015/3/31 17:53:00
--  

例子

 

 

谢谢您了。
[此贴子已经被作者于2015/3/31 18:10:05编辑过]

--  作者:有点甜
--  发布时间:2015/3/31 18:07:00
--  

 弄一个 TabControl3,把然后把各个tabcontrol一个page一个放进去,然后用代码,类似

 

Dim pidx As object
Dim tname As String
Dim idx As Integer
If e.Sender.Name.StartsWith("btn_tabcontrol") Then
    pidx = vars("p1_pidx")
    tname = e.Sender.Name.split("_")(1)
    idx = e.Sender.Name.split("_")(2).replace("pg", "")
End If
If pidx IsNot Nothing Then
    For Each k As String In pidx.keys  \'显示所有值
        Dim btn As WinForm.Button = e.Form.Controls(pidx(k))
        If pidx(k) = e.Sender.Name
            Dim tab As WinForm.TabControl = e.Form.Controls(tname)
            tab.SelectedIndex = idx
            e.Form.Controls("TabControl3").SelectedIndex = tname.Replace("tabcontrol", "") - 1
            btn.BackColor = Color.red
        Else
            btn.BackColor = Color.white
        End If
    Next
End If