我的项目中有form1和form2。 form1是登录页面,登录后我进入form2。我还为form1创建了一个包含用户名和密码的数据库表,admin和user也是2个实体和相关记录。其中form2包含2个按钮admin和users。 问题是..当我以管理员身份登录时,我想要启用form2中的所有按钮..当以用户身份登录时,我只希望启用用户按钮并禁用管理员。 请有人帮我这个编码..?
答案 0 :(得分:1)
您可以在show命令中传递对用户角色的引用,如此
form2.Show(IsAdmin);
然后在form2的构造函数中接受它:
public Form2(bool IsAdmin)
{
InitializeComponent();
if (IsAdmin) ... else ...
}
您可能还想查看有关引用另一个表单主题的this更长时间的讨论。
答案 1 :(得分:1)
如TaW所述,form2的构造函数中的flag参数应该运行。
另一种可能性是在form2中创建一个属性:
private bool isAdmin;
public bool IsAdmin
{
get
{
return isAdmin;
}
set
{
isAdmin = value;
btnAdmin.Enabled = isAdmin;
}
}
并在显示form2之前在表单1中使用它。 对于管理员:
var f = new Form2 { IsAdmin = true };
f.Show();
对于普通用户:
var f = new Form2 { IsAdmin = false };
f.Show();
希望它有所帮助。
答案 2 :(得分:0)
当您从form1以管理员身份登录时,请打开form2并关闭form1。 拿一面旗帜。
flag=0;
If (username==admin && password=="Your Password")
form2.show()
this.close()
flag=1;
End If
现在在form2中检查flag的值。如果为1,则以管理员身份登录,以用户身份登录。 所以,
If form1.flag=1 then
admin_button.enabled=true
user_button.enabled=true
else
admin_button.enabled=false
user_button.enabled=true
End If