/****************************** * 说明:自定义带复选框下拉列表框控件 * 创建人:龚宇超 * 创建日期:2017-08-07 * 修改人: * 修改日期: * 修改备注: * 版本:1.0.0.0 ******************************/ using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using DevExpress.XtraEditors; using Lskj.Control.Model; using Lskj.Business.Impl; namespace Lskj.Control { /// /// 带复选框下拉列表框控件 /// public partial class LabelCheckMultiAutoTextEdit : BaseUserControl { /// /// 复选框控件 /// /// The check edit. public CheckEdit CheckEdit { get { return ckCheck; } } /// /// 备注框控件 /// public TextEdit TextEdit { get { return labelMultAutoTextEdit1.TextEdit; } } /// /// 下拉选择框控件 /// public string EditValue { get { return labelMultAutoTextEdit1.EditValue; } } /// /// 自定义多选返回框 /// /// The combox edit. public LabelMultiAutoTextEdit MultiAutoEdit { get { return labelMultAutoTextEdit1; } } public LabelCheckMultiAutoTextEdit() { InitializeComponent(); this.MultiAutoEdit.Enabled = false; } /// /// 说明:设置控件显示文本 /// 创建人:龚宇超 /// 创建日期:2017-08-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// 显示Lebel文本 public override string LabelText { get { return this.MultiAutoEdit.LabelText; } set { this.MultiAutoEdit.LabelText = value; } } /// /// 控件值 /// /// The edit text. public override string EditText { get { return base.EditText; } set { labelMultAutoTextEdit1.EditText = value; MultiAutoEdit.Enabled = ckCheck.Checked = !string.IsNullOrWhiteSpace(labelMultAutoTextEdit1.EditText); } } /// /// 只读文本颜色 /// /// The color of the read only label. public override bool ReadOnly { get { return base.ReadOnly; } set { base.ReadOnly = value; this.labelMultAutoTextEdit1.ReadOnly = value; } } /// /// 必填文本颜色 /// /// The color of the required label. public override bool Required { get { return base.Required; } set { base.Required = value; if (value) { this.MultiAutoEdit.Label.ForeColor = base.RequiredLabelForceColor; } } } /// /// 说明:需要单独验证是否修改 /// 创建人:龚宇超 /// 创建日期:2017-11-08 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// true if this instance is update; otherwise, false. public override bool IsUpdate() { if (this.Model.FieldType == ControlType.LabCheckMultiSelectValue) { return !this.Model.Text.Equals(this.MultiAutoEdit.EditValue, StringComparison.OrdinalIgnoreCase); } else { return base.IsUpdate(); } } /// /// 说明:选中改变状态 /// 创建人:龚宇超 /// 创建日期:2017-08-07 /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source