2013-03-14 43 views
0

我有一個應用程序有兩種形式。一個僅用於管理員訪問,另一個僅用於用戶訪問。我想要做的是檢查用戶是否是管理員,如果是這樣,那麼只需要加載管理員表單,如果用戶啓動應用程序不是管理員,它只會加載用戶表單。當用戶完成他們的表單時,它會關閉應用程序。如何管理3種窗體之間的Winform控件?

我需要一個「邏輯」形式來決定加載哪種形式嗎?我遇到的問題是它顯示屏幕上的所有表單,而不管用戶的訪問權限。我如何完全控制一個在開始時加載的前一個或最初的winform的winform?一次只能在屏幕上顯示一個表格。

+0

邏輯進程應該是這樣的:檢查用戶訪問權限,加載適當的表單,使開始表單不可見(關閉),關閉用戶表單關閉事件的應用程序。 – user1732364 2013-03-14 15:50:29

+0

你有試過什麼嗎?如果是這樣,給我們看代碼,以便我們可以幫助你。 – 2013-03-14 16:37:50

回答

0

如果只有一種形式應的應用程序的生命週期中不斷顯示,你可以判斷用戶是否是admin打電話之前Application.Run,​​就像這樣:

If userIsAdmin Then 
    Application.Run(New frmAdmin()) 
Else 
    Application.Run(New frmMain()) 
End If 
0

如果取消選中「啓用應用程序框架」選項爲您的項目,你的啓動對象設置爲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

相關問題