C#中,点击form1中的button,隐藏form2中的panel,可以吗?如果可以,该如何做呢?
6个回答
展开全部
利用委托实现就行了, 在form1里面声明委托
//定义隐藏窗体的委托
public delegate void HideForm();
public HideForm hidesform = null;
然后在form2窗体中显示form1窗体的方法里面实例化委托
Form1 g = new Form1();
g.hidesform += new Form1.HideForm(HidePanel);
g.Show();
private void HidePanel()
{
this.panel1.Visible = false;
}
最后在form1的button按钮下面触发委托
if (hidesform != null)
{
hidesform();
}
刚刚测试 保证能用 ,类似的问题都可以采用委托实现。
//定义隐藏窗体的委托
public delegate void HideForm();
public HideForm hidesform = null;
然后在form2窗体中显示form1窗体的方法里面实例化委托
Form1 g = new Form1();
g.hidesform += new Form1.HideForm(HidePanel);
g.Show();
private void HidePanel()
{
this.panel1.Visible = false;
}
最后在form1的button按钮下面触发委托
if (hidesform != null)
{
hidesform();
}
刚刚测试 保证能用 ,类似的问题都可以采用委托实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果两个画面存在父子关系,可以用Owner或者Children取的form2,然后用名字查找那个控件。但是如果不存在依附关系,则只能通过第三个共通类的公有变量作为媒介,在form2里自己判断是否隐藏。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在form2中写一个函数
public void SetVisible()
{
panel.visible=false;
}
在form1中的button单击事件中调用这个函数即可
Form2 form2 = new Form2();
foreach (Form form in Application.OpenForms)
{
if (form.GetType() == typeof(Form2))
{
form2 = (Form2)form;
form2.SetVisible();
}
}
public void SetVisible()
{
panel.visible=false;
}
在form1中的button单击事件中调用这个函数即可
Form2 form2 = new Form2();
foreach (Form form in Application.OpenForms)
{
if (form.GetType() == typeof(Form2))
{
form2 = (Form2)form;
form2.SetVisible();
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在buttonclick中写入:
form2 f2=new form2();
f2.panel1.visible=false;
form2 f2=new form2();
f2.panel1.visible=false;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
5楼的方法不错 是一个很好的借鉴 委托解决这个办法很好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询