0

我在 VS-2008 中创建了两个表单,login_F 和switchBoard_F. login_F是用户的登录表单,它验证用户的登录,然后witchBoard_F从函数中打开 s:

每当login_F,关闭它也关闭switchBoard_F。我希望 switchBoard_F一直打开并关闭s login_F,但我不知道switchBoard_F在我关闭 s 时哪个代码正在关闭我的login_F

这是代码:

 Private Sub SaveUSerInfo()


    Dim cmd As New SqlCommand("sp_InsertLogReg", conn)
    cmd.CommandType = CommandType.StoredProcedure
    cmd.Parameters.Add(New SqlParameter("@EmpID", My.Settings.UserID))
    cmd.Parameters.Add(New SqlParameter("@sHostName", System.Net.Dns.GetHostName()))
    cmd.Parameters.Add(New SqlParameter("@sUserName", System.Environment.UserName()))
    cmd.Parameters.Add(New SqlParameter("@ApplicationName", My.Settings.gAppName))

    'cmd.ExecuteNonQuery()

    Dim newID As Integer = CInt(cmd.ExecuteScalar()) 'return LogRegID

    'get UserGroup
    Dim strSQL As String = "SELECT tblKOCEmp.EmpID, tblKOCEmp.Name, tblOrg.GroupName, tblOrg.Active"
    strSQL = strSQL + " FROM tblKOCEmp "
    strSQL = strSQL + " INNER JOIN tblOrg ON dbo.tblKOCEmp.OrgCode = dbo.tblOrg.OrgCode"
    strSQL = strSQL + " WHERE (dbo.tblOrg.Active = 1)"
    strSQL = strSQL + " AND (tblKOCEmp.EmpID =" + My.Settings.UserID + ")"

    cmd = New SqlCommand(strSQL, conn)

    cmd.CommandType = CommandType.Text
    Dim dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
    If dr.HasRows Then
        While dr.Read
            If Not IsDBNull(dr.Item("Name")) Then
                My.Settings.UserName = (dr.Item("Name"))
                My.Settings.GroupName = (dr.Item("GroupName"))
            End If
        End While
    End If
    dr.Close()

    My.Settings.LogRegID = newID 'store LogRegID to mySettings

    switchBoard_F.Show()
    login_F.Close()

End Sub
4

3 回答 3

0

您应该使用switchBoard_F.ShowDialog();而不是switchBoard_F.Show();.

顺便说一句:关闭主窗体将始终导致关闭应用程序,除非在项目属性中设置不同

于 2013-06-16T13:19:34.313 回答
0

我不太确定您的情况..但我认为您可以将switchBoard_F表格作为主要表格。

当您调用login_F表单时,您可以隐藏主表单..因此,当用户输入正确的密码时,您只需关闭login_F表单..如果他们没有,您可以关闭它们两个..

于 2013-06-16T13:00:37.803 回答
0

确保登录第二个表单不是父表单

或者您可以使用 loginform.hide 和第二种形式的 onclosure 事件,secondform.close

于 2013-06-17T05:42:10.553 回答