请教一个关于窗体的问题!

sbxkpl 2003-12-12 05:27:02
我刚学vb.net,想请教一下各位高手,在MDI父窗体中显示子窗体,如何只一直显示一个子窗体,就是说点击下一个click事件,正在显示的子窗体退出父窗体。而只显示点击的窗体!各位高手能不能教小弟编这个函数,最好是有完整的原代码!在下谢谢先!
...全文
16 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
snakeyin 2003-12-16
  • 打赏
  • 举报
回复
搜索一下, CSDN上有好多贴子的
snakeyin 2003-12-16
  • 打赏
  • 举报
回复
可以使用反射动态产生MDI子窗体
sbxkpl 2003-12-13
  • 打赏
  • 举报
回复
谢谢各位了,可能我没有讲清楚,feels和menuvb两位的办法都可行,但是和我的想的不一样,我想写一个函数,直接调用,而不用在每个click事件中写入,因为这样会使程序很大,我的父窗体的click事件很多。在重述一下,在父窗体下,如何只一直显示一个子窗体,就是说点击下一个click事件,正在显示的子窗体退出父窗体。而只显示点击的子窗体!再次谢谢!
menuvb 2003-12-12
  • 打赏
  • 举报
回复
声明一个全局变量。
dim f1 as new form1
dim f2 as new form2
=========================
单击的时候判定窗体是否已经打开,如果打开就关闭它

如在fom1单击
lf f2 ls Nothing Or f2.lsDisposed Then'判断对象是否被销毁
frm2 as new frm2
end if
me.hide
f2.show
==================================
详细的你可以看看版主写的文章
http://myforum.66ip.com/view.aspx?id=20(我转载的)
feels30000 2003-12-12
  • 打赏
  • 举报
回复
刚才没写完
private Form NowForm = null;
private aa_click(sender object,Event e)
{
if (this.NowForm!=null)
{
this.NowForm.Close();
this.NowForm.Dispose();
}
this.NowForm = new form1();
this.NowForm.Show();
}
private bb_click(sender object,Event e)
{
if (this.NowForm!=null)
{
this.NowForm.Close();
this.NowForm.Dispose();
}
this.NowForm = new form2();
this.NowForm.Show();
}
feels30000 2003-12-12
  • 打赏
  • 举报
回复
private Form NowForm = null;
private aa_click(sender object,Event e)
{
if (this.NowForm!=null)
{
this.NowForm.Close();
this.NowForm = new form1();
}
weixinzhu 2003-12-12
  • 打赏
  • 举报
回复
在父窗体里
子窗体.showdialog()
斗斗来三 2003-12-12
  • 打赏
  • 举报
回复
好象不行
dongbeiren 2003-12-12
  • 打赏
  • 举报
回复
??矛盾啊,如果只显示一个窗体的话,何来“点击下一个click事件,正在显示的子窗体退出父窗体。而只显示点击的窗体!“,点的哪里?

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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