【问题标题】:How to create privileges buttons dynamically?如何动态创建权限按钮?
【发布时间】:2023-03-28 15:00:01
【问题描述】:

由于我可以根据登录的用户自动创建按钮,例如管理员用户是管理员类型并且拥有所有权限,那么在表单中登录时的管理员用户应该生成按钮等权限,如何完成了吗?

我的登录密码:

  private void button1_Click(object sender, EventArgs e)
            {
    if (txtUser.Text == "" || txtContrasenna.Text == "")
                {
                    MessageBox.Show("Please provide UserName and Password");
                    return;
                }
                try
                {
                    //Create SqlConnection
                    SqlConnection con = new SqlConnection(cs);
                    SqlCommand cmd = new SqlCommand("Select * from Users where NameUser=@nameuser and Password=@password", con);
                    cmd.Parameters.AddWithValue("@nameuser", txtUser.Text);
                    cmd.Parameters.AddWithValue("@password", txtContrasenna.Text);
                    con.Open();
                    SqlDataAdapter adapt = new SqlDataAdapter(cmd);
                    DataTable ds = new DataTable();
                    adapt.Fill(ds);
                    con.Close();
                   // int count = ds.Tables[0].Rows.Count;

                    //If count is equal to 1, than show frmMain form
                    if (ds.Rows.Count == 1)
                    {
                        switch (ds.Rows[0]["UserTypeId"] as int?)
                        {
                            case 1:
                                {
                                    this.Hide();
                                   Menus.MenuSuperUser ss = new Menus.MenuSuperUser();
                                    ss.Show();
                                   // MessageBox.Show("MAMALON");

                                    break;
                                }
                            case 2:
                                {
                                    this.Hide();
                                    PantallasUsers.DashboardVendedor ss = new PantallasUsers.DashboardVendedor();
                                    ss.Show();

                                    break;
                                }
                            default:
                                {
                                    MessageBox.Show("NOTBABY");
                                    break;
                                }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Algo esta mal, revisa tus datos.");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

【问题讨论】:

  • 为什么不添加控件,默认隐藏,然后根据用户角色使其可见?
  • @Xaqron 因为可以为每个用户角色添加多个权限,所以每个权限都是一个按钮
  • 您可以尝试在您的winform中放置statusStrip,然后添加一个状态标签,定义每个用户的角色,然后慢慢定义每个权限。
  • @P.Pat 如何让用户保持登录状态?
  • 你能根据用户的角色分享 UI 应该是什么样子吗?以及哪些部分的 UI 可以根据权限进行更改?

标签: c# sql winforms windows-forms-designer


【解决方案1】:
// Create desired control
CTRL ctrl = new CTRL();

// Set properties
ctrl.SomeProperty = value;

// Where to put the control
ctrl.Location = new Point(X, Y);

Controls.Add(ctrl);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-31
    • 1970-01-01
    • 2013-02-17
    • 2014-11-08
    • 2011-10-22
    • 2013-09-05
    • 2019-07-26
    • 1970-01-01
    相关资源
    最近更新 更多