c# - 应用程序显示两个菜单条而不是一个

标签 c# winforms

我是 c# 编码的新手,希望这个问题不会打扰任何人:)

我正在尝试学习如何在 win 表单中使用用户控件。在下面的代码中,当我运行我的代码时,它显示了 2 个菜单条而不是一个。

public partial class MainForm : Form
{
    //user control
    private mdi2.UserControls.UCForm1 ucForm1;
    private mdi2.UserControls.UCForm2 ucForm2;
    public MainForm()
    {
        InitializeComponent();

        InitializeComponent();
    // Instantiate the User Controls
    ucForm1 = new mdi2.UserControls.UCForm1();
    this.Controls.Add(ucForm1);
    ucForm2 = new mdi2.UserControls.UCForm2();
    this.Controls.Add(ucForm2);
    }

    private void MainForm_Load(object sender, EventArgs e)
    {
    }

    private void uCForm1ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ucForm1.Visible = true;
        ucForm1.Dock = DockStyle.Fill;
        ucForm1.BringToFront();
    }

    private void uCForm2ToolStripMenuItem_Click(object sender, EventArgs e)
    {
         ucForm2.Visible = true;
         ucForm2.Dock = DockStyle.Fill;
         ucForm2.BringToFront();
    }
}

user controls showing twice

最佳答案

很难告诉您问题出在哪里,因为 we mdi2.UserControls.UCForm1一无所知

基于对您代码的第一眼观察:

  • InitializeComponent() 被调用了两次

希望这对您有所帮助。

关于c# - 应用程序显示两个菜单条而不是一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34547607/

相关文章:

c# - 配置 NLog 的布局以显示所有事件上下文条目

c# - 如何在 C# 中访问我的触控板?

c# - 如何从另一种形式调用函数

c# - 关闭后处理表单

c# - 当运行线程 A 的对象被线程 B 销毁时会发生什么?

c# - 从 C# 调用 UNIX 和 Linux 共享对象文件 .so

c# - 如何从此字符串中删除转义字符?

c# - 我想在 winforms 列表框控件中检测一个项目双击。 【如何处理点击空白区域?】

c# - WinForms 中的进度条

winforms - 中心文本对齐标签