我有一个用Excel构建的用户表单,它有大约10个利用MultiPage设置的选项卡。问题是我没有足够的空间来放置额外的选项卡,我真的想用一个更友好的导航菜单或工具栏替换这些选项卡。我研究过微软的ToolBar控件,它和我想要的很接近,但是我不能改变高度,下拉菜单必须点击箭头并指向文本,这在我看来不是那么直观。
所以我的问题是,你们中是否有人熟悉更好的多页面导航设置,也许是使用ActiveX的形式?
发布于 2015-12-18 05:23:04
我建议将你的用户表单根据类别分成单独的表单或子表单。您可以让一个窗体启动另一个窗体,如果它们都是无模式的,并且两者都可以同时出现在屏幕上。通过这种方式,您可以同时使用这两种方法。
要以无模式启动窗体,请在执行Form1.Show操作时将其更改为Form1.Show vbModeless
发布于 2015-12-21 22:57:59
我最后做的是用我所有不同的页面做一个列表框,这是我的多页面的一部分,然后把这个列表框放在我的Userform的左侧,然后使用下面的代码
填充列表框
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然后我就有了这个点击
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,现在它工作得很好。现在我可以定制这个列表框,让它看起来更像我想要的导航。
https://stackoverflow.com/questions/34344391
复制相似问题