0

我面临一些表单隐藏问题。

实际上我有一个带有用户控件的表单。用户控件有提交按钮,当我单击它时,我希望用户控件以及包含它的表单消失。我可以使用 this.hide(),但它只是隐藏用户控件而不是表单。

我创建一个

         form1 f1 = new form1();
         f1.hide();

甚至尝试过

       f1.close(), 

但没有任何工作。请帮忙

编辑:这是实际代码:

  Input inp = new Input();
            inp.Show();

它是调用输入表单的地方。在它的加载事件中,我调用了 usinput 用户控件。

                USinput usinp = new USinput();

然后在用户控件的提交按钮中,使用以下代码:

         Input inpt = new Input();
            inpt.Hide();
            this.Hide();
            Companies co = new Companies();
            co.Show();

它显示了新表单并且用户控件消失了,但输入表单仍然存在。

4

1 回答 1

0
  • 您是否尝试过仅使用该代码?
  • 您是否确保您的控件没有被调用f1并且没有名称冲突?
  • 你的控件类名是form1吗?

肯定是围绕着它。

编辑:您的问题在这里的第一行。

输入 inpt = new Input(); inpt.Hide(); this.Hide(); 公司 co = 新公司();合作展示();

在您的 UserControl 中,您创建一个新表单。所以你有2个表格!但是,第二个永远不会可见。您必须向 UserControl 发送对表单的引用。这样,您始终使用相同的表单。

以下是从表单创建 UserControl 的方法:

USinput usinp = new USinput(this); //Will send a reference of the form to the control

您的控件的构造函数将如下所示:

private Form parentForm;
public USinput(Input parentForm)
{
    this.parentForm = parentForm;
}

您的提交按钮代码将包含以下内容:

parentForm.hide();
于 2012-04-09T03:33:10.230 回答