关于VB.NET窗体MDI 菜单栏里切换问题

whenthat 2015-01-23 10:33:17
如何实现菜单栏-> 窗口-> 下方窗体自动添加的菜单栏按钮(窗体切换)?
如图:

...全文
457 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27880647 2015-05-02
  • 打赏
  • 举报
回复
Private Sub mainMenu_ItemAdded(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemEventArgs) If e.Item.Text = "" Then MenuStrip1.Items.Remove(e.Item) End If e.Item.Visible = False '关闭子窗体在 menustrip1中显示。最小化,最大化,关闭等按键显示 End Sub Private Sub ShowForm(ByVal MDIChildForm As Form) '新建子窗体 AddHandler MenuStrip1.ItemAdded, AddressOf mainMenu_ItemAdded '关闭子窗体图标在menustrip1前显示 For Each ChildForm As Form In Me.MdiChildren ChildForm.Close() Next '检测子窗体,有打开的,进行关闭 Dim MDIChildFrm As Form = MDIChildForm Me.IsMdiContainer = True MDIChildFrm.MdiParent = Me ' 定义MDI子窗体 MDIChildFrm.Show() '打开窗体 MDIChildFrm.WindowState = FormWindowState.Normal MDIChildFrm.WindowState = FormWindowState.Maximized End Sub
whenthat 2015-01-24
  • 打赏
  • 举报
回复
引用
回复于: 2015-01-23 13:52:15 哪有这么复杂,很简单的: 选中菜单栏,属性中找到MdiWindowListItem,选择“窗口”这个菜单项。 剩下的就是全自动了,连“冻结窗格”下面的分割条都会自动加上去的。
感谢 Tiger_Zhao 问题解决了,谢谢
於黾 2015-01-23
  • 打赏
  • 举报
回复
说起来简单,做起来复杂 1.你先要给菜单栏动态add子菜单 2.给子菜单都绑定同一个click事件 3.在事件里判断是谁点击引发了事件执行,获取sender,取到它的文本,写个分支语句,通过不同的文本对应打开不同的子窗体 4.点击之后设置它的checked=true,并遍历菜单将其它动态添加的子项的checked全部变为false
Tiger_Zhao 2015-01-23
  • 打赏
  • 举报
回复
哪有这么复杂,很简单的:
选中菜单栏,属性中找到MdiWindowListItem,选择“窗口”这个菜单项。
剩下的就是全自动了,连“冻结窗格”下面的分割条都会自动加上去的。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧