我有一个有两种形式的应用程序。一种仅用于管理员访问,另一种仅用于用户访问。我想要做的是检查用户是否是管理员,如果是,那么只加载管理员表单,如果启动应用程序的用户不是管理员,它只加载用户表单。当用户完成他们的表单时,它会在关闭时退出应用程序。
我是否需要一个“逻辑”表单来确定要加载哪个表单?我遇到的问题是,无论用户访问如何,它都会在屏幕上显示所有表单。我如何完全控制在开始时加载的先前或初始 winform 的 winform?一次只能在屏幕上显示 1 个表单。
如果您取消选中项目的“启用应用程序框架”选项,并将启动对象设置为 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
如果在应用程序的生命周期内只显示一个表单,您可以在调用 Application.Run 之前确定用户是否为管理员,如下所示:
If userIsAdmin Then
Application.Run(New frmAdmin())
Else
Application.Run(New frmMain())
End If