C#中,点击form1中的button,隐藏form2中的panel,可以吗?如果可以,该如何做呢?

 我来答
MobileVip
2012-05-25 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:174
采纳率:0%
帮助的人:101万
展开全部
利用委托实现就行了, 在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();

}
刚刚测试 保证能用 ,类似的问题都可以采用委托实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzh3452
2012-05-25 · TA获得超过1044个赞
知道小有建树答主
回答量:1168
采纳率:100%
帮助的人:854万
展开全部
如果两个画面存在父子关系,可以用Owner或者Children取的form2,然后用名字查找那个控件。但是如果不存在依附关系,则只能通过第三个共通类的公有变量作为媒介,在form2里自己判断是否隐藏。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迦若青蓝
2012-05-25 · TA获得超过177个赞
知道小有建树答主
回答量:347
采纳率:0%
帮助的人:166万
展开全部
在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();
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wc902012
2012-05-25
知道答主
回答量:2
采纳率:0%
帮助的人:3188
展开全部
在buttonclick中写入:
form2 f2=new form2();
f2.panel1.visible=false;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csenuoh12h
2012-05-25
知道答主
回答量:11
采纳率:0%
帮助的人:9.4万
展开全部
5楼的方法不错 是一个很好的借鉴 委托解决这个办法很好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式