在做一个小程序的时候,偶然发现了使用menusript控件做权限设置的方法,仅此标记,以供参考。
首先创建一个实例:testuseright.sln,
在项目文件里创建两个窗体:Form1.cs和useright.cs;Form1.cs窗体中添加两个textbox:textbox1;textbox2;还有一个button。
双击button,创建button_click事件
private void button1_Click(object sender, EventArgs e)
{
string userName = textBox1.Text;
string userpwd = textBox2.Text;
if (userName == "" || userpwd == "")//因为此处只是个小例子,故不做数据库什么的操作了,直接写死。
{
string userright = "";
useright useright = new useright(this,userright );//传权限(userright)值
useright.Show();
this.Hide();
}
else if (userName == "" || userpwd == "")
{
string userright = "";
useright useright = new useright(this,userright );//传值
useright.Show();
this.Hide();
}
else
{
MessageBox.Show("输入错误!");
}
}
然后在useright.cs窗体中,添加一个menusript控件,下拉菜单中写一个userright1;userright2;双击useright页面进入cs页,代码这么写:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace testuseright
{
public partial class useright : Form
{
Form1 Form1;
string userright;
public useright()
{
InitializeComponent();
}
public useright(Form1 Form1, string userright): this()
{
this.Form1 = Form1;
this.userright = userright;
}
private void useright_Load(object sender, EventArgs e)
{
string userright = this.userright ;
if (userright ==null )//权限值为空的话,两个都是不可用的
{
userright1ToolStripMenuItem1.Enabled = false ;
userright2ToolStripMenuItem.Enabled = false ;
}
else if(userright =="")//设定权限值为1的时候可以使用userright1的操作
{
userright2ToolStripMenuItem.Enabled = false ;
}
else if(userright =="")//权限设定userright=2的时候可以使用全部
{
userright1ToolStripMenuItem1.Enabled = true ;
userright2ToolStripMenuItem.Enabled = true ;
}
}
private void userright1ToolStripMenuItem1_Click(object sender, EventArgs e)
{
if(userright =="")
{
MessageBox.Show("恭喜你该权限可以使用");
}
} private void userright2ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (userright == "")
{
MessageBox.Show("恭喜你该权限可以使用");
}
}
}
}
然后调试一下,是不是感觉萌萌哒,当你用1和1登录的时候,userright2条目是不是灰色的?然后用2和2登录的时候,是不是两个都可以用了!