如何在表单之间导航

cut*_*ies 10 .net c# visual-studio-2010 visual-studio winforms

我是一个新兴的c#和窗口形式我正在做一个项目,我遇到了一些问题

  1. 如何在窗口中导航表单(我有一个菜单条,点击它会显示一个项目"品牌",所以当我点击它,它应该在窗口中打开,我不想要使用mdiparent /容器,我有form1和form2,然后我把菜单条放在form1中,form1中有一些东西,如果使用mdiparent/container,form1 content/thing会阻塞form2)

2.i使用下面的代码,问题是我想关闭form1,我点击菜单条中的"品牌"...但如何???

public partial class Form1 : Form
{
    //  i put the menu strip in form1 design
    public Form1()
    {
        InitializeComponent();
    }

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

    private void Check_Click(object sender, EventArgs e)
    {
        Form2 Check = new Form2();
        Check.Show();
    }
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*Aza 21

您不能只关闭Form1它,因为它是主窗体,但您可以隐藏它.使用this.Hide().

private void Check_Click(object sender, EventArgs e)
{
    Form2 Check= new Form2();
    Check.Show();
    Hide();
}
Run Code Online (Sandbox Code Playgroud)

[编辑]

不确定这是不是问.但...

有许多方法可以在表单之间实现导航,例如:

Form1:

private void button1_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.Tag = this;
    form2.Show(this);
    Hide();
}
Run Code Online (Sandbox Code Playgroud)

Form2:

private void button1_Click(object sender, EventArgs e)
{
    var form1 = (Form1)Tag;
    form1.Show();
    Close();
}
Run Code Online (Sandbox Code Playgroud)