基於二進位制的許可權判斷

世紀緣發表於2016-08-26
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace EnumDemo
{
    public partial class Form2 : Form
    {
        string gl_role = "";


        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {

            LoadUsers();
        }

        private void LoadUsers()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Userid");
            dt.Columns.Add("Username");
            dt.Columns.Add("Role");

            DataRow dr = null;

            dr = dt.NewRow();
            dr["Userid"] = "101";
            dr["Username"] = "Xiao ming";
            dr["Role"] = "1";

            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["Userid"] = "102";
            dr["Username"] = "Xiao li";
            dr["Role"] = "2";

            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["Userid"] = "103";
            dr["Username"] = "Xiao qing";
            dr["Role"] = "4";

            dr = dt.NewRow();
            dr["Userid"] = "104";
            dr["Username"] = "Xiao hang";
            dr["Role"] = "8";

            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["Userid"] = "105";
            dr["Username"] = "Xiao xiang";
            dr["Role"] = "3";

            dt.Rows.Add(dr);

            dgvUserList.DataSource = dt;
        }

        private void dgvUserList_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == -1 || e.RowIndex == -1)
                return;

            this.gl_role = this.dgvUserList.CurrentRow.Cells["Role"].Value.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            IsInclude(1);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            IsInclude(2);
        }

        private void IsInclude(int flag)
        {

            int select = int.Parse(gl_role);

            if (flag == (select & flag))
            {
                MessageBox.Show("具有");
            }
            else
            {
                MessageBox.Show("不具有");
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {

            IsInclude(4);
        }

        private void button3_Click(object sender, EventArgs e)
        {

            IsInclude(8);
        }
    }
}

相關文章