using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using Mesnac.Controls.Base; using System; namespace Mesnac.Controls.Default { [ToolboxBitmap(typeof(System.Windows.Forms.Button))] public partial class PLCButton : Button, IPurviewControl { private List _clickActionList = new List(); private List _keyDownActionList = new List(); private bool _mcVisible = true; //保存可见性 private bool _mcEnabled = true; //保存可用性 private bool _isValid = true; //保存有效性 private string _mckey; //业务值 private object _mcvalue; private int _alarmvalue;//报警界限值 private Color backColor; private string _nextpage; private int _writebit; public PLCButton() { InitializeComponent(); this.backColor = this.BackColor; WriteSelf = true; } public PLCButton(IContainer container) { container.Add(this); InitializeComponent(); } public List ClickActionList { get { return this._clickActionList; } set { this._clickActionList = value; } } public List KeyDownActionList { get { return _keyDownActionList; } set { _keyDownActionList = value; } } //业务 public string MCKey { get; set; } public object MCValue { get { return _mcvalue; } set { this.Text = value.ToString(); _mcvalue = value; if (Convert.ToInt32(value) >= _alarmvalue) { base.BackColor = base.OldFillColor; } else { base.BackColor = this.backColor; }; } } public IBaseControl MCRoot { get { return null; } set { ; } } [TypeConverter(typeof(DataSourceConverter))] [Description("数据连接"), Category("Data")] public string MCDataSourceID { get; set; } public MCDataSource MCDataSource { get; set; } [Description("是否为数据库控件"), Category("Data")] public bool IsDbControl { get; set; } [Description("初始化SQL"), Category("Data")] public string InitDataSource { get; set; } [Description("执行SQL"), Category("Data")] public string ActionDataSource { get; set; } [Description("绑定数据源"), Category("Data")] public object BindDataSource { get; set; } [Description("操作类型"), Category("Data")] public DbOptionTypes DbOptionType { get; set; } [Description("是否可见"), Category("Behavior")] public bool MCVisible { get { return this._mcVisible; } set { this._mcVisible = value == null ? true : value; if (this.Site.DesignMode) { this.Visible = true; } else { this.Visible = this._mcVisible; } } } [Description("是否可用"), Category("Behavior")] public bool MCEnabled { get { return this._mcEnabled; } set { this._mcEnabled = value == null ? true : value; if (this.Site.DesignMode) { this.Enabled = true; } else { this.Enabled = this._mcEnabled; } } } [Description("是否控制权限"), Category("Behavior")] public bool MCPurview { get; set; } /// /// 报警界限值 /// public int Alarmvalue { get { return _alarmvalue; } set { _alarmvalue = value; } } /// /// 跳转页面 /// public string NextPage { get { return _nextpage; } set { _nextpage = value; } } //是否往自己本身绑定的PLC地址写 public bool WriteSelf { get; set; } //如果不往自己绑定的写,那写入值和绑定控件名字是什么 public string ControlName { get; set; } //是否按位写入 public bool WriteBybit { get; set; } //写入位 public int writebit { get { return _writebit; } set { if (value > 16) { _writebit = 0; } else { _writebit = value; } ; } } public bool IsValid { get { return _isValid; } set { _isValid = value; } } } }