如果单击另一个菜单条选项,则从Windows窗体中删除控件

时间:2017-08-27 21:08:04

标签: c#

我有一个菜单条,当点击它时,添加控件并在我正在制作的Windows应用程序上显示它们。但是,当我尝试单击另一个选项并尝试隐藏显示的先前控件时,它不会隐藏自身,而只是停留在屏幕上,数据网格视图显示在它上面。我尝试了if (is_file(DIR_SYSTEM . '../../vendor/autoload.php')) { require_once(DIR_SYSTEM . '../../vendor/autoload.php'); } 方法,但似乎没有效果。

这是我的代码(我制作的Hide()方法,调用它的方法,以及我制作的AddControls方法)

添加控件 -

HideAllControls

(还有更多控件,但我超过了30000个字符限制)

菜单条插入成员点击 -

private void AddControls()
{
    // begin household head controls

    Label householdHeadLbl = new Label()
    {
       Name = "lbl_householdHead",

       Text = "Household Head"
    }; 


    householdHeadLbl.Font = new Font(householdHeadLbl.Font.FontFamily, 12);

    householdHeadLbl.Location = new Point(86, 75);

    householdHeadLbl.Size = new Size(130, 24);

    ////////////////////////////////////////////
    TextBox houseHoldHeadTextBox = new TextBox()
    {
       Name = "txtBox_householdHead"
    };

    houseHoldHeadTextBox.Font = new Font(houseHoldHeadTextBox.Font.FontFamily, 12);

    houseHoldHeadTextBox.Location = new Point(220, 72);

    houseHoldHeadTextBox.Size = new Size(154, 24);

    // add the controls 
    // household head controls
    Controls.Add(householdHeadLbl);
    Controls.Add(houseHoldHeadTextBox); 
}

HideAllControls -

private void MenuInsertMember_Click(object sender, EventArgs e)
{
    AddControls();
}

菜单条视图单击 -

private void HideAllControls(Control ctrl)
{
    foreach (Control c in Controls)
    {
       if (c is TextBox || c is Label)
       {
           c.Hide();
       }
       else
       {
           break;
       }
    }
}

我添加了一个截图,以帮助显示/解释我遇到的问题。

插入屏幕截图 - http://imgur.com/zGBY3b4

查看屏幕截图 - http://imgur.com/yecBbiw

任何帮助都将不胜感激。

谢谢!

0 个答案:

没有答案