我有两种形式:登录(子)和Form1(作为MdiParent) 登录表单有3个角色,每个角色对menuStrip具有不同的访问控制
示例: form1trip in form1:
UIKeyboardWillChangeFrameNotification
角色:管理员,培训师,实习生 登录后,可以访问admin的菜单只有文件(登录,注销)和主(查看)。
所以我的问题是如何在登录表单中禁用/隐藏admin的菜单注册表?
答案 0 :(得分:0)
管理员成功登录后,您只需转到要隐藏的特定菜单项,并将其Visible
属性设置为false
:
((Form1)this.MdiParent).RegisterMenuItem.Visible = false;
您必须确保菜单项不是私密的。它必须是内部的或公开的。
答案 1 :(得分:0)
一种方法是在MDI表单中创建一个公共方法,其中包含禁用注册菜单的逻辑,然后从Login表单中调用它,如下所示:
在MDI表格中:
var parent = (Form1) MdiParent;
parent.DisableRegisterMenu();
在登录表格中:
setTimeout
/ A
答案 2 :(得分:0)
this is my login form codes :
if (count == 1)
{
UserInformation.CurrentLoggedInUser = (string)rdr["UserName"];
MessageBox.Show("Welcome " + comboBox1.Text + UserInformation.CurrentLoggedInUser);
UserInformation.CurrentLoggedInUser = (string)rdr["UserRole"];
if (UserInformation.CurrentLoggedInUser == "Administrator")
{
this.Close();
this.MdiParent = new Form1();
// ((Form1)this.MdiParent).hide();
//((Register_Training_Participant)this.MdiParent).Hide();
var parent = (Form1)MdiParent;
parent.AdminDisableControl();
}
//this is the code for my mainform :
public void AdminDisableControl()
{
regToolStripMenuItem.Visible = false;
}