首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户窗体MultiPage导航

用户窗体MultiPage导航
EN

Stack Overflow用户
提问于 2015-12-18 05:16:54
回答 2查看 676关注 0票数 0

我有一个用Excel构建的用户表单,它有大约10个利用MultiPage设置的选项卡。问题是我没有足够的空间来放置额外的选项卡,我真的想用一个更友好的导航菜单或工具栏替换这些选项卡。我研究过微软的ToolBar控件,它和我想要的很接近,但是我不能改变高度,下拉菜单必须点击箭头并指向文本,这在我看来不是那么直观。

所以我的问题是,你们中是否有人熟悉更好的多页面导航设置,也许是使用ActiveX的形式?

EN

回答 2

Stack Overflow用户

发布于 2015-12-18 05:23:04

我建议将你的用户表单根据类别分成单独的表单或子表单。您可以让一个窗体启动另一个窗体,如果它们都是无模式的,并且两者都可以同时出现在屏幕上。通过这种方式,您可以同时使用这两种方法。

要以无模式启动窗体,请在执行Form1.Show操作时将其更改为Form1.Show vbModeless

票数 1
EN

Stack Overflow用户

发布于 2015-12-21 22:57:59

我最后做的是用我所有不同的页面做一个列表框,这是我的多页面的一部分,然后把这个列表框放在我的Userform的左侧,然后使用下面的代码

填充列表框

代码语言:javascript
复制
    i = 0
    With Main_Window.form_navigation_list
            .AddItem "Domestic"
                .List(i, 0) = "Page 1"
                .List(i, 1) = 0
        i = i + 1
            .AddItem
                .List(i, 0) = "Page 2"
                .List(i, 1) = 1
        i = i + 1
End With

然后我就有了这个点击

代码语言:javascript
复制
Private Sub form_navigation_list_Click()
    Dim i As Integer
    Dim SelectedRow As Integer

        For SelectedRow = 0 To Main_Window.form_navigation_list.ListCount - 1
            If Main_Window.form_navigation_list.Selected(SelectedRow) Then
                nav_page = Main_Window.form_navigation_list.List(SelectedRow, 1)
                With Main_Window
                    .MultiPage1.Value = nav_page
                    .Show
                End With
            End If
        Next

End Sub

我一开始使用的是flexgrid,但不断遇到内存泄漏问题,程序会崩溃,所以我换成了listbox,现在它工作得很好。现在我可以定制这个列表框,让它看起来更像我想要的导航。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34344391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档