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

catkin 2002-11-11 04:03:03
我在做一个身份验证的程序。用子窗口验证口令与帐号。当子窗口关闭事,主窗口的,菜单才可以使用。怎么实现。谢谢。在windows窗体程序
...全文
113 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
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,类的内容可以自已写,然后初始化一个全局实例,当子窗口验证通过后,通过该实例发送验证通过事件,在主窗口接收此事件即可,具体实现过程自已写。

16,721

社区成员

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

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