2010-12-19 155 views
0

我在用客戶機 - 服務器模型編寫應用程序。客戶端啓動時,將顯示帶有用戶名和密碼字段的登錄表單。點擊登錄按鈕後,客戶端會將這些用戶名& pw發送給服務器進行檢查。如果服務器檢查確定,那麼在客戶端將出現mainform。我的代碼是這樣的:c#當管理員/用戶登錄時顯示/隱藏按鈕

在客戶端,loginForm.cs:

if (execmd == "OK") // server sends "OK" or "FAILED" after checking authentication 
    this.DialogResult = DialogResult.OK 

在客戶端的Program.cs:

login = new loginForm(); 
DialogResult result = login.showDialog(); 
login.Dispose(); 
if (result != DialogResult.Cancel) 
    Application.Run(new MainForm(login)); 

現在我想提高我的應用程序admin /用戶認證。在MainForm中有一個設置按鈕。如果用戶登錄,則該按鈕將被隱藏。如果管理員登錄,則會顯示此按鈕。使用上面的代碼,我該如何做MainForm Show()或Hide()按鈕,具體取決於在檢查身份驗證後字符串服務器將發送什麼?(例如,如果管理員登錄,則爲execmd == "admin")。

在此先感謝您的幫助。

回答

1

將您的現有邏輯保存在loginForm中,但添加測試以查看用戶是否爲admin。然後在loginForm中設置一個布爾值,指出它是否是admin(類似於IsAdmin)。

您已經將loginForm傳遞給了您的MainForm,因此您的MainForm可以檢查IsAdmin屬性以確定是否應該顯示該按鈕。

btnSetting.Visible = login.IsAdmin; 
+0

是的,它的工作原理。非常感謝Jonathan。 – PeteMerry 2010-12-19 07:22:25