关于WINFORM的隐藏和显示问题

athlon128 2006-12-18 12:52:32
在FORM1上有个按钮,按下后FORM2显示,FORM1隐藏,FORM2中也有个按钮,按下后FORM2隐藏,FORM1显示 FORM2中的代码应该怎么写啊...
...全文
359 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yc1042 2007-01-17
  • 打赏
  • 举报
回复
我也觉得:流星雨的方法并不是很好

因为:当form2显示时如果用户关闭窗口,好像是程序结束了。其时form1 还在,资源也没有释放,程序还在运行。所以我认为不好。而且的确反復創建,浪费资源。
athlon128 2006-12-18
  • 打赏
  • 举报
回复
我是新手,大家不要鄙视我哈...最好能告诉我原理~~
aierduo 2006-12-18
  • 打赏
  • 举报
回复
其实你可以把 窗体的颜色 变白了
那就看不见了
jp800308 2006-12-18
  • 打赏
  • 举报
回复
不得不说:晕,窗体隐藏\呈现而已,怎么感觉象说的很深是的
sqfeiyu 2006-12-18
  • 打赏
  • 举报
回复
暈~~~~ 哪里要反復創建啊﹖
還有﹐這樣的問題有必要象你上面的那樣嗎﹖
就這一句﹕
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
當每點一次時就要重新建立一次form2,哎﹐別的不說了
justindreams 2006-12-18
  • 打赏
  • 举报
回复
流星雨的方法并不是很好,反复创建,多浪费系统资源啊

建议Form2里面做一个代理,定义一个事件

给你点代码看看吧,乱写的。

FORM1:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.send += new Form2.SendMessage(form2_send);
this.Hide();
form2.ShowDialog();
}

private void form2_send()
{
this.Show();
}

在FORM2里面定义:
public delegate void SendMessage();
public event SendMessage send;

然后在按钮点击事件里面写:
private void button1_Click(object sender, EventArgs e)
{
this.Close();
this.send();
}

试试看吧,我没测试,不过应该没问题
colaxu 2006-12-18
  • 打赏
  • 举报
回复
用 sqfeiyu(流星雨) 的方法.
sqfeiyu 2006-12-18
  • 打赏
  • 举报
回复
在Form1中定義﹕
private Form2 frm2;
private void Form1__Load(object sender, System.EventArgs e)
{
frm2=new Form2(this);
}
private void button1_click(object sender,System.EventArgs e)
{
this.Hide();
frm2.Show();
}
在Form2中添加﹕
private Form1 frm1;
public Form2(Form frm)
{
frm1=frm;
}
private void button1_click(object sender,System.EventArgs e)
{
this.Hide();
frm1.Show();
}
aierduo 2006-12-18
  • 打赏
  • 举报
回复
FORM1 按钮代码
Form2 f2=new Form2();
f2.Show();
this.Hide();

FORM2 按钮代码

Form1 f1=new Form1();
f1.Show();
this.Hide();

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧