• 全部
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

MDI窗口中如何在子窗口关闭是通知父窗口,???

catkin 2002-11-11 04:03:03
我在做一个身份验证的程序。用子窗口验证口令与帐号。当子窗口关闭事,主窗口的,菜单才可以使用。怎么实现。谢谢。在windows窗体程序
...全文
66 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mynewpc 2002-11-12
验证窗体为单独的启动窗体,验证通过打开主窗体,不通过停止在启动窗体.
回复
catkin 2002-11-12
谢谢各位:
我解决了。按照写类的方法。代码如下
类,
Public Class PassStr
Inherits System.EventArgs
Public Sub New(ByVal PassWordStr As String)
Me.PassWordStrValue = PassWordStr
End Sub

Private PassWordStrValue As String
Public ReadOnly Property PassWordStr() As String
Get
Return Me.PassWordStrValue
End Get
End Property

End Class


主窗口
Private Sub MenuLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuLogin.Click

' Dim newfrmPass As frmPass
' newfrmPass = New frmPass()
' newfrmPass.Text = "请输入帐号口令"
'newfrmPass.MdiParent = Me
'newfrmPass.WindowState = FormWindowState.Normal
'newfrmPass.StartPosition = FormStartPosition.CenterScreen
newfrmPass.ShowDialog()
End Sub

Private Sub frmpassClosed(ByVal sender As System.Object, ByVal Arg As PassStr) Handles newfrmPass.frmPassClosed
MsgBox("通过检查" & Access)


End Sub

口令验证的窗口
Private Sub frmPass_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
Dim Arg As PassStr = New PassStr(Access)
RaiseEvent frmPassClosed(Me, Arg)
End Sub

最后,谢谢,逍遥浪子 , limengchen(lmc) , sy_programmer(kangnan) ,
还有 mynewpc(水中日月) 给了我一个全新的思路。


再在这里放半天,明天早上我将结帖!
回复
sy_programmer 2002-11-11
Dim frm_log As New Form1()
frm_log.ShowDialog
回复
limengchen 2002-11-11
将主窗体设为启动窗体,在主窗体的中模式化显示子窗体,这样,只有当子窗体关闭时才会继续执行主窗体的代码。
回复
catkin 2002-11-11
谢谢!我是个新手,还不会写类,能不能有更为简单的方法那。比如子窗体关闭,引发父窗体的什么事件,我把灰显的菜单,enable就行了。
回复
Donmi 2002-11-11
给你一个思路,用事件模式,即定义一个事件类如SystemEvent,类的内容可以自已写,然后初始化一个全局实例,当子窗口验证通过后,通过该实例发送验证通过事件,在主窗口接收此事件即可,具体实现过程自已写。
回复
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2002-11-11 04:03
社区公告
暂无公告