从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这样的话你就不要直接把子窗口show出来,先在父窗口创建一个子窗口对象的变量,通过实例化该变量达到创建子窗口的目的,然后在下次又要打开子窗口时也可以通过该变量关闭原有的子窗口
创新互联公司于2013年创立,先为潮州等服务建站,潮州等地企业,进行企业商务咨询服务。为潮州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
示例代码如下(假设Form1为父窗口,Form2为子窗口):
Form1的代码:
Public
Class
Form1
Dim
nform
As
Form2
=
Nothing
Private
Sub
Button1_Click(ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
Button1.Click
If
nform
IsNot
Nothing
Then
nform.Close()
nform.Dispose()
End
If
nform
=
New
Form2
nform.Show()
Me.Hide()
End
Sub
End
Class
通过nform变量,你可以很轻易就处理掉原来已经打开但隐藏着的子窗口了
1、如果上一个窗体是程序的主窗体(默认是程序的第一个窗体),
则不能关闭这个窗体,只能隐藏(Me.Hide())这个窗体,否则整
个程序就被关掉了。
2、如果上一个窗体不是程序的主窗体,可以用Me.Close()
关闭。
VB中关闭窗口直接使用Unload就可以。\x0d\x0aUnload语句卸载 Form对象或控件。\x0d\x0a其语法: Unload object \x0d\x0aobject 所在处是要卸载的 Form 对象或控件数组元素的名称。 \x0d\x0a\x0d\x0a例子:点击按钮弹出Form2窗体,关闭自身窗体\x0d\x0aPrivate Sub Command1_Click()\x0d\x0a Form2.Show' 弹出form2\x0d\x0a Unload Me‘关闭自身窗体\x0d\x0aEnd Sub
1)你应该把你的代码放到queryunload事件而不是unload事件中,前者发生在窗体卸载之前(这时候两个子窗体还没有关闭),后者则发生在窗体的卸载过程中(这时子窗体已经关闭了)。
2)我觉得你可以在mdi窗体中放入一个picturebox来实现你的目的。
定义一个公共变量: CurForm AS STRING=""再定义一个公共函数: Public Sub FrmUnload(ByVal myFrm As Form)
'关闭已经打开的窗口
Try
If myFrm.Name "FrmMain" Then
myFrm.Close()
End If
Catch ex As Exception End Try
End Sub每次在打开新窗体前先调用关闭窗口公共函数:FrmUnload(CurForm)然后将当前打开窗体名称赋值给变量 CurForm如果还看不懂那我也没办法了!没有悬赏分数的问题一般不会回答的!破例
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图