2013-08-16 70 views
1

我试图隐藏的parent Form2面板控制按钮被点击时GroupSelect childform打开另一个child form GroupExmStart,当这种GroupExmStart形式变得比panel4开放应该隐藏,当它关闭比应该是可见的,我试过下面的代码,但它不工作,也没有发生。我错在哪里,我该如何正确地做到这一点?隐藏面板控制时,会显示子窗体

父窗体

public partial class Form2 : Form 
{ 
    public Control control 
    { 
     //using this I accessed panel4 in child form GroupSelect 
     get {return this.panel4; } 
    } 
} 

子窗体

public partial class GroupSelect : Form 
{ 
    private void button1_Click(object sender, EventArgs e) 
    { 
     Form2 frm2 = new Form2(lgnName); 
     frm2.panel4.Visible = false; 

     GroupExmStart grpexamfrm = new GroupExmStart(GrpID, DurationID, lgnName); 
     grpexamfrm.MdiParent = this.ParentForm; 
     //showing another child form and 
     grpexamfrm.Show(); 
    } 
} 

回答

0

此代码的工作对我非常好

在父窗体

public Form2(string userName) 
     { 
     InitializeComponent();    
     panelHide = panel4; 
     } 
public static Panel panelHide = new Panel(); 

在GroupSelect子窗体

private void button1_Click(object sender, EventArgs e) 
     { 
      Form2.panelHide.Hide(); 
     } 
0

要创建新的窗口2,但我明白的问题侑父窗体是窗体2,所以你可以按照以下

private void button1_Click(object sender, EventArgs e) 
{ 
    var frm2 = this.Parent as Form2; 
    if(frm2 !=null) 
     frm2.control.Visible = false; 

    GroupExmStart grpexamfrm = new GroupExmStart(GrpID, DurationID,lgnName); 
    grpexamfrm.MdiParent = this.ParentForm; 
    grpexamfrm.Show();//showing another child form and 
} 
+0

我想你的代码,仍然是面板是可见的,此面板包含3 Picture Boxes – Durga

+0

你的孩子形式是由哪种形式创建的? – Damith

+0

GroupSelect(子窗体)由“Form2(父窗体)”创建,GroupExamStart(另一个子窗体)由GroupSelect(子窗体)创建。 – Durga