liyaobang 9f7c6206ca 提交rbac
提交设置右键错位的bug
2025-04-08 15:15:02 +08:00

92 lines
2.7 KiB
C#

using AntdUI;
using DH.RBAC.Model.Sys;
using Sunny.UI;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DH.RBAC.Page
{
public class MyPage : UserControl
{
public virtual void Stop() { }
public List<SysPermission> ButtonPermissionList
{
set
{
List<SysPermission> list = value;
SetPermission(list, this.Controls);
}
}
private void SetPermission(List<SysPermission> list, Control.ControlCollection controls)
{
foreach (Control control in controls)
{
if (control.HasChildren)
{
SetPermission(list, control.Controls);
continue;
}
if (control is AntdUI.Button)
{
AntdUI.Button button = (AntdUI.Button)control;
object tag = button.Tag;
if (tag == null)
continue;
string strTag = tag as string;
if (strTag == null)
continue;
SysPermission permission = list.Where(it => it.EnCode == strTag).FirstOrDefault();
if (permission == null)
continue;
button.Visible = true;
continue;
}
if (control is UISymbolButton)
{
UISymbolButton button = (UISymbolButton)control;
object tag = button.Tag;
if (tag == null)
continue;
string strTag = tag as string;
if (strTag == null)
continue;
SysPermission permission = list.Where(it => it.EnCode == strTag).FirstOrDefault();
if (permission == null)
continue;
button.Visible = true;
continue;
}
}
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// MyPage
//
this.Size = new System.Drawing.Size(1150, 637);
this.Name = "MyPage";
this.ResumeLayout(false);
}
}
public class PageCodeAttribute : Attribute
{
public string Encode { get; set; }
public PageCodeAttribute() { }
public PageCodeAttribute(string encode)
{
this.Encode = encode;
}
}
}