| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using Model;
- using Permission;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Drawing;
- using System.Drawing.Design;
- using System.Windows.Forms;
- public class MyUIComboBox:UiComboBox, IPermissionControl, IActionableControl
- {
- [Category("MyControl")]
- [Description("控件要求的权限等级")]
- [Browsable(true)]
- [DefaultValue(PermissionLevel.操作工)]
- public PermissionLevel RequiredPermissionLevel { get => requiredPermissionLevel; set { requiredPermissionLevel = value; IsPermissionGot = currentPermissionLevel >= RequiredPermissionLevel; HandlePermissionChange(); } }
- private PermissionLevel requiredPermissionLevel = PermissionLevel.操作工;
- [Category("MyControl")]
- [Description("当前登录的权限")]
- [Browsable(false)]
- [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
- public PermissionLevel CurrentPermissionLevel { get => currentPermissionLevel; set { currentPermissionLevel = value; IsPermissionGot = currentPermissionLevel >= RequiredPermissionLevel; HandlePermissionChange(); } }
- private PermissionLevel currentPermissionLevel = PermissionLevel.无权限;
- [Category("MyControl")]
- [Description("控件是否获得了权限")]
- [Browsable(false)]
- [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
- public bool IsPermissionGot { get; private set; }
- protected virtual void HandlePermissionChange()
- {
- this.Enabled = IsPermissionGot;
- }
- public MyUIComboBox()
- {
- this.SelectedIndexChanged += MyUIComboBox_SelectedIndexChanged;
- }
- private void MyUIComboBox_SelectedIndexChanged(object sender, EventArgs e)
- {
- }
- }
|