有没有办法将 MenuStrip 中的菜单项作为选项卡打开?

Posted

技术标签:

【中文标题】有没有办法将 MenuStrip 中的菜单项作为选项卡打开?【英文标题】:Is there a way to open menu item in MenuStrip as a tab? 【发布时间】:2020-03-25 18:14:17 【问题描述】:

我正在尝试制作一个简单的翻译器,但我遇到了 menustrip 问题。我创建了 3 个项目,例如:翻译、关于、退出。我试图做但失败的是,当我点击“关于”时,我希望它作为一个新标签打开,并且会有一个关于语言的图像。当我单击“翻译”时,它将返回您编写文本的主页,然后单击按钮进行翻译。最后,当您单击“退出”时,程序将自行关闭。

我通过写作完成了“退出”:

private void exitToolStripMenuItem_Click(object sender, EventArgs e)

    this.Close();

我已经找到了一种方法,可以在您单击时以新表单打开“关于”页面,但我希望它们都在相同的表单中,但在不同的选项卡中。我该怎么做?

【问题讨论】:

如果您实际上有一个选项卡式 UI,这将太容易了。所以你可能不会。考虑以每个程序的方式执行此操作,在对话框中显示关于帮助。使用 MessageBox 或专用表单非常容易,调用 ShowDialog()。 【参考方案1】:

如果你想在表单中显示“标签”,你可以试试控件“TabControl”。那么你可以参考下面的代码来使用它。

private void aboutToolStripMenuItem_Click(object sender, EventArgs e)

    // Create new tab
    TabPage tp = new TabPage("Test");
    tabControl1.TabPages.Add(tp);
    // Add control into the tab
    TextBox tb = new TextBox();
    tb.Dock = DockStyle.Fill;
    tb.Multiline = true;
    tp.Controls.Add(tb);
    this.tabControl1.SelectedTab = this.tabControl1.TabPages[1];

【讨论】:

以上是关于有没有办法将 MenuStrip 中的菜单项作为选项卡打开?的主要内容,如果未能解决你的问题,请参考以下文章

2021-11-24 WinFrom面试题 如何设置MenuStrip控件中菜单项的快捷键?

VS2005中menustrip控件如何实现tabcontrol功能?

如何将单选按钮添加到菜单项?

menustrip控件 如何获得2级菜单个数

循环填充快捷键

Windows 窗体中的标准 Windows 菜单栏