C# 在下一个表单中禁用按钮
我的项目中有form1和form2。form1是登录页面,登录后进入form2。我还为form1创建了一个数据库表,其中包含用户名和密码,admin和user作为两个实体和相关记录。其中form2包含2个按钮admin和users。 问题是。。当我以管理员身份登录时,我希望启用form2中的所有按钮。当以用户身份登录时,我只希望启用用户按钮并禁用管理员。C# 在下一个表单中禁用按钮,c#,winforms,C#,Winforms,我的项目中有form1和form2。form1是登录页面,登录后进入form2。我还为form1创建了一个数据库表,其中包含用户名和密码,admin和user作为两个实体和相关记录。其中form2包含2个按钮admin和users。 问题是。。当我以管理员身份登录时,我希望启用form2中的所有按钮。当以用户身份登录时,我只希望启用用户按钮并禁用管理员。 有人能帮我编码吗?您可以像这样在show命令中传递对用户角色的引用 form2.Show(IsAdmin); 然后在form2的构造函数中接
有人能帮我编码吗?您可以像这样在show命令中传递对用户角色的引用
form2.Show(IsAdmin);
然后在form2的构造函数中接受它:
public Form2(bool IsAdmin)
{
InitializeComponent();
if (IsAdmin) ... else ...
}
您可能还想看一看关于从一个表单引用另一个表单的更详细的讨论。当您从form1以管理员身份登录时,请打开form2并关闭form1。 拿着一个可以用的旗子
flag=0;
If (username==admin && password=="Your Password")
form2.show()
this.close()
flag=1;
End If
现在在form2中检查flag的值。如果是1,则以管理员身份登录,否则以用户身份登录。
所以
如上所述,form2构造函数中的flag参数应该运行
另一种可能是在form2中创建属性:
private bool isAdmin;
public bool IsAdmin
{
get
{
return isAdmin;
}
set
{
isAdmin = value;
btnAdmin.Enabled = isAdmin;
}
}
在展示表格2之前,在表格1中使用它。
对于管理员:
var f = new Form2 { IsAdmin = true };
f.Show();
对于普通用户:
var f = new Form2 { IsAdmin = false };
f.Show();
希望有帮助。Hi-这是一个解决方案,还是只是试图找出错误所在?如果这是一个解决方案,你能再解释一下这是如何解决问题的吗?
var f = new Form2 { IsAdmin = false };
f.Show();