0

我有一个有两种形式的应用程序。一种仅用于管理员访问,另一种仅用于用户访问。我想要做的是检查用户是否是管理员,如果是,那么只加载管理员表单,如果启动应用程序的用户不是管理员,它只加载用户表单。当用户完成他们的表单时,它会在关闭时退出应用程序。

我是否需要一个“逻辑”表单来确定要加载哪个表单?我遇到的问题是,无论用户访问如何,它都会在屏幕上显示所有表单。我如何完全控制在开始时加载的先前或初始 winform 的 winform?一次只能在屏幕上显示 1 个表单。

4

2 回答 2

0

如果您取消选中项目的“启用应用程序框架”选项,并将启动对象设置为 Sub Main,您可以创建一个新模块并将代码放入 Sub Main:

Module Main
    Public Sub Main()
        Dim userIsAdmin As Boolean
        ' do your check here
        If userIsAdmin Then
            Application.Run(New frmAdmin())
        Else
            Application.Run(New frmMain())
        End If
    End Sub
End Module

有关详细信息,请参见此处:

http://visualstudiomagazine.com/articles/2007/10/01/enable-the-application-framework-in-vb.aspx

于 2013-03-14T20:05:50.040 回答
0

如果在应用程序的生命周期内只显示一个表单,您可以在调用 Application.Run 之前确定用户是否为管理员,如下所示:

If userIsAdmin Then
    Application.Run(New frmAdmin())
Else
    Application.Run(New frmMain())
End If
于 2013-03-14T16:36:03.570 回答