管理员/用户登录时c#show / hide按钮

时间:2010-12-19 06:45:04

标签: c# forms button dialog show-hide

我正在用客户端 - 服务器模型编写应用程序。当客户端启动时,它将显示带有用户名和密码字段的loginform。点击登录按钮后,客户端将发送这些用户名& pw到服务器检查。如果服务器检查正常,则会出现客户端主窗体。我的代码是这样的:

在客户端,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));

现在我想通过管理员/用户身份验证来改进我的应用。在MainForm中有一个Setting按钮。如果用户登录则会隐藏此按钮。如果管理员登录,则会显示此按钮。使用上面的代码,如何根据检查身份验证后字符串服务器将发送的内容,使MainForm Show()或Hide()成为按钮?(例如,如果管理员登录,则为execmd == "admin")。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

将现有逻辑保留在loginForm中,但添加测试以查看用户是否为admin。然后在loginForm中设置一个布尔值,指示它是否为admin(类似于IsAdmin)。

您已经将loginForm传递给MainForm,因此您的MainForm可以检查IsAdmin属性以确定是否应该显示该按钮。

btnSetting.Visible = login.IsAdmin;