C# 应用程序正在显示两个菜单,而不是一个

C# 应用程序正在显示两个菜单,而不是一个,c#,winforms,C#,Winforms,我是c#编码新手,希望这个问题不会困扰任何人:) 我正在尝试学习如何在win窗体中使用用户控件。在下面的代码中,当我运行代码时,它显示2个menustrip而不是一个 public partial class MainForm : Form { //user control private mdi2.UserControls.UCForm1 ucForm1; private mdi2.UserControls.UCForm2 ucForm2; public Mai

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

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

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();
    }
}

很难告诉您问题出在哪里,因为
mdi2.UserControls.UCForm1

根据对代码的第一次查看:

  • InitializeComponent()
    被调用两次

希望这有帮助。

很难告诉您问题出在哪里,因为
mdi2.UserControls.UCForm1

根据对代码的第一次查看:

  • InitializeComponent()
    被调用两次

希望这能有所帮助。

对不起,我忘记了代码。为什么要调用
InitializeComponent()
两次?谢谢。这是一个复制粘贴错误。是的,如果您执行
InitializeComponent()
5次,您将看到更多菜单!对不起,我忘记了代码。为什么要调用
InitializeComponent()
两次?谢谢。这是一个复制粘贴错误。是的,如果您执行
InitializeComponent()
5次,您将看到更多菜单!此外,这两个控件都被添加到此。默认情况下,它们是可见的。@Don我建议您建议一个?也都被添加到此中。默认情况下,控件和它们是可见的。@Don我建议您建议一个?