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.RadioButton))] public partial class MCRadioButton : RadioButton, IBaseControl { #region 字段定义 private bool _mcVisible = true; //保存可见性 private bool _mcEnabled = true; //保存可用性 private bool _isValid = true; //保存有效性 private bool _isEventValid = true; //保存事件有效性 private bool _isChecked; private List _clickActionList = new List(); #endregion #region 构造方法 public MCRadioButton() : base() { InitializeComponent(); } public MCRadioButton(IContainer container) { container.Add(this); InitializeComponent(); } #endregion #region 事件属性 public List ClickActionList { get { return _clickActionList; } set { _clickActionList = 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); } } } } } public IBaseControl MCRoot { get; 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 } }