You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lj_plc/Controls/Mesnac.Controls.Default/MCCheckBox.cs

222 lines
5.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Mesnac.Controls.Base;
using System.Drawing;
namespace Mesnac.Controls.Default
{
[ToolboxBitmap(typeof(System.Windows.Forms.CheckBox))]
public partial class MCCheckBox : CheckBox, IBaseControl
{
#region 字段定义
private List<DesignAction> _clickActionList = new List<DesignAction>();
private List<DesignAction> _checkedChangedActionList = new List<DesignAction>();
private bool _mcVisible = true; //保存可见性
private bool _mcEnabled = true; //保存可用性
private bool _isValid = true; //保存有效性
private bool _isEventValid = true; //保存事件有效性
#endregion
#region 构造方法
public MCCheckBox()
: base()
{
InitializeComponent();
}
public MCCheckBox(IContainer container)
{
container.Add(this);
InitializeComponent();
}
#endregion
#region 事件属性
protected override void OnPaint(PaintEventArgs pevent)
{
base.OnPaint(pevent);
}
public List<DesignAction> ClickActionList
{
get { return _clickActionList; }
set { _clickActionList = value; }
}
public List<DesignAction> CheckedChangedActionList
{
get { return _checkedChangedActionList; }
set { _checkedChangedActionList = value; }
}
#endregion
#region 属性定义
//是否处于选中状态
[Description("是否选中"), Category("Behavior")]
public bool IsChecked
{
get { return this.Checked; }
set { this.Checked = value; }
}
#endregion
#region 接口成员实现
public string MCKey
{
get;
set;
}
public object MCValue
{
get
{
return this.Checked;
}
set
{
if (value != null)
{
if (value.ToString().ToLower() == "true" || value.ToString().ToLower() == "false")
{
this.Checked = Convert.ToBoolean(value.ToString());
}
else //不是true、false
{
int result = 0;
if (int.TryParse(value.ToString(), out result))
{
this.Checked = Convert.ToBoolean(result);
}
}
}
else
{
this.Checked = false;
}
}
}
public IBaseControl MCRoot
{
get
{
return null;
}
set
{
;
}
}
[TypeConverter(typeof(DataSourceConverter))]
[Description("数据连接"), Category("数据")]
public string MCDataSourceID
{
get;
set;
}
public MCDataSource MCDataSource
{
get;
set;
}
[Description("是否为数据库控件"), Category("数据")]
public bool IsDbControl
{
get;
set;
}
[Description("初始化SQL"), Category("数据")]
public string InitDataSource
{
get;
set;
}
[Description("执行SQL"), Category("数据")]
public string ActionDataSource
{
get;
set;
}
[Description("绑定数据源"), Category("数据")]
public object BindDataSource
{
get;
set;
}
[Description("操作类型"), Category("数据")]
public DbOptionTypes DbOptionType
{
get;
set;
}
[Description("是否可见"), Category("行为")]
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("行为")]
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;
}
}
}
public bool IsValid
{
get { return _isValid; }
set { _isValid = value; }
}
public bool IsEventValid
{
get { return this._isEventValid; }
set { this._isEventValid = value; }
}
#endregion
}
}