ControlHelper

    public static class ControlHelper {

        #region Set Required Format

        /// <summary>
        /// Set Layout Control Item required format.
        /// </summary>
        /// <param name="itemControl">Layout Control Item</param>
        public static void SetRequiredFormat(this LayoutControlItem itemControl) {
            if (itemControl == null)
                throw new ArgumentNullException("itemControl");

            itemControl.AppearanceItemCaption.ForeColor = Color.Red;
            itemControl.AppearanceItemCaption.Options.UseForeColor = true;
        }

        #endregion

        #region Set DateEdit Format

        /// <summary>
        /// Set date edit format.
        /// </summary>
        /// <param name="dEdit">Date Edit</param>
        /// <param name="formatString">Date Time format string</param>
        public static void SetDateFormat(this DateEdit dEdit, string formatString, bool timeEditing) {
            if (dEdit == null)
                throw new ArgumentNullException("dEdit");

            if (String.IsNullOrEmpty(formatString))
                throw new ArgumentNullException("formatString");

            ((ISupportInitialize)dEdit.Properties).BeginInit();

            dEdit.Properties.CalendarTimeEditing = timeEditing ? DefaultBoolean.True : DefaultBoolean.Default;
            dEdit.Properties.Mask.EditMask = formatString;

            dEdit.Properties.DisplayFormat.FormatString = formatString;
            dEdit.Properties.DisplayFormat.FormatType = FormatType.DateTime;
            dEdit.Properties.EditFormat.FormatString = formatString;
            dEdit.Properties.EditFormat.FormatType = FormatType.DateTime;
            dEdit.Properties.MinValue = DateTime.Parse("1999-01-01 00:00:00");
            dEdit.Properties.MaxValue = DateTime.Parse("9999-12-31 23:59:59");
            dEdit.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime;

            ((ISupportInitialize)dEdit.Properties).EndInit();
        }

        /// <summary>
        /// Set date edit format.
        /// </summary>
        /// <param name="dEdit">Date Edit</param>
        /// <param name="formatString">Date Time format string</param>
        public static void SetDateFormat(this RepositoryItemDateEdit dEdit, string formatString, bool timeEditing) {
            if (dEdit == null)
                throw new ArgumentNullException("dEdit");

            if (String.IsNullOrEmpty(formatString))
                throw new ArgumentNullException("formatString");

            ((ISupportInitialize)dEdit).BeginInit();

            dEdit.CalendarTimeEditing = timeEditing ? DefaultBoolean.True : DefaultBoolean.Default;
            dEdit.Mask.EditMask = formatString;

            dEdit.DisplayFormat.FormatString = formatString;
            dEdit.DisplayFormat.FormatType = FormatType.DateTime;
            dEdit.EditFormat.FormatString = formatString;
            dEdit.EditFormat.FormatType = FormatType.DateTime;
            dEdit.MinValue = DateTime.Parse("1999-01-01 00:00:00");
            dEdit.MaxValue = DateTime.Parse("9999-12-31 23:59:59");
            dEdit.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.DateTime;

            ((ISupportInitialize)dEdit).EndInit();
        }

        #endregion

        #region Set SpinEdit Format

        #region SpinEdit

        /// <summary>
        /// Set SpinEdit integer format.
        /// </summary>
        /// <param name="editControl">SpinEdit Control</param>
        /// <param name="minValue">Min Value</param>
        /// <param name="maxValue">Max Value</param>
        public static void SetIntegerFormat(this SpinEdit editControl, int minValue, int maxValue) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            SetIntegerFormat(editControl, minValue, maxValue, minValue);
        }

        /// <summary>
        /// Set SpinEdit integer format.
        /// </summary>
        /// <param name="editControl">SpinEdit Control</param>
        /// <param name="minValue">Min Value</param>
        /// <param name="maxValue">Max Value</param>
        public static void SetIntegerFormat(this SpinEdit editControl, int minValue, int maxValue, int defaultValue) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            ((ISupportInitialize)editControl.Properties).BeginInit();

            editControl.Properties.IsFloatValue = false;
            editControl.Properties.Mask.EditMask = "N0";
            editControl.Properties.DisplayFormat.FormatType = FormatType.Numeric;
            editControl.Properties.DisplayFormat.FormatString = "N0";
            editControl.Properties.EditFormat.FormatType = FormatType.Numeric;
            editControl.Properties.EditFormat.FormatString = "N0";
            editControl.Properties.MinValue = minValue;
            editControl.Properties.MaxValue = maxValue;
            editControl.Value = defaultValue;

            ((ISupportInitialize)editControl.Properties).EndInit();
        }

        /// <summary>
        /// Set SpinEdit decimal format.
        /// </summary>
        /// <param name="editControl">SpinEdit Control</param>
        /// <param name="minValue">Min Value</param>
        /// <param name="maxValue">Max Value</param>
        public static void SetDecimalFormat(this SpinEdit editControl, string numberFormat, decimal minValue, decimal maxValue) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            SetDecimalFormat(editControl, numberFormat, minValue, maxValue, minValue);
        }

        /// <summary>
        /// Set SpinEdit decimal format.
        /// </summary>
        /// <param name="editControl">SpinEdit Control</param>
        /// <param name="minValue">Min Value</param>
        /// <param name="maxValue">Max Value</param>
        /// <param name="defaultValue">Default Value</param>
        public static void SetDecimalFormat(this SpinEdit editControl, string numberFormat, decimal minValue, decimal maxValue, decimal defaultValue) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            ((ISupportInitialize)editControl.Properties).BeginInit();

            editControl.Properties.IsFloatValue = true;
            editControl.Properties.DisplayFormat.FormatString = numberFormat;
            editControl.Properties.DisplayFormat.FormatType = FormatType.Numeric;
            editControl.Properties.EditFormat.FormatString = numberFormat;
            editControl.Properties.EditFormat.FormatType = FormatType.Numeric;
            editControl.Properties.Mask.EditMask = numberFormat;
            editControl.Properties.EditMask = numberFormat;

            editControl.Properties.MinValue = minValue;
            editControl.Properties.MaxValue = maxValue;
            editControl.Value = defaultValue;

            ((ISupportInitialize)editControl.Properties).EndInit();
        }

        #endregion

        #region Repository Item SpinEdit

        /// <summary>
        /// Set Repository Item SpinEdit integer format.
        /// </summary>
        /// <param name="editControl">SpinEdit Control</param>
        /// <param name="minValue">Min Value</param>
        /// <param name="maxValue">Max Value</param>
        public static void SetIntegerFormat(this RepositoryItemSpinEdit editControl, int minValue, int maxValue) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            editControl.IsFloatValue = false;
            editControl.Mask.EditMask = "N00";
            editControl.Mask.UseMaskAsDisplayFormat = true;
            editControl.MinValue = minValue;
            editControl.MaxValue = maxValue;
        }

        /// <summary>
        /// Set Repository Item SpinEdit decimal format.
        /// </summary>
        /// <param name="editControl">SpinEdit Control</param>
        /// <param name="minValue">Min Value</param>
        /// <param name="maxValue">Max Value</param>
        public static void SetDecimalFormat(this RepositoryItemSpinEdit editControl, string numberFormat, decimal minValue, decimal maxValue) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            editControl.IsFloatValue = true;
            editControl.Mask.EditMask = numberFormat;
            editControl.DisplayFormat.FormatString = numberFormat;
            editControl.DisplayFormat.FormatType = FormatType.Numeric;
            editControl.EditFormat.FormatString = numberFormat;
            editControl.EditFormat.FormatType = FormatType.Numeric;

            editControl.MinValue = minValue;
            editControl.MaxValue = maxValue;
        }

        #endregion

        #endregion

        #region Initialize Descriptor

        #region LookUpEdit

        /// <summary>
        /// Initialize LookUpEdit columns (Key, Name) for descriptor. <br/>
        /// Both ValueMember and DisplayMember are 'Name'.
        /// </summary>
        /// <param name="editControl">LookUpEdit Control</param>
        /// <param name="keyAsCaption">Show key as description</param>
        public static void InitializeNameDescriptor(this LookUpEdit editControl, bool keyAsCaption) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            ((ISupportInitialize)editControl.Properties).BeginInit();

            editControl.Properties.DisplayMember = "Name";
            editControl.Properties.ValueMember = "Key";
            editControl.Properties.NullText = "";
            // Init Columns
            editControl.Properties.Columns.AddRange(
                new LookUpColumnInfo[] { 
                    new LookUpColumnInfo("Key", 30, "#"),
                    new LookUpColumnInfo("Name", 70, "Name")
                }
            );

            ((ISupportInitialize)editControl.Properties).EndInit();
        }

        /// <summary>
        /// Initialize LookUpEdit columns (Key, Caption) for descriptor. <br/>
        /// ValueMember is 'Key'. <br/>
        /// </summary>
        /// <param name="editControl">LookUpEdit Control</param>
        /// <param name="keyAsCaption">Show key as description</param>
        public static void InitializeDescriptor(this LookUpEdit editControl, bool keyAsCaption) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            ((ISupportInitialize)editControl.Properties).BeginInit();

            editControl.Properties.DisplayMember = keyAsCaption ? "Key" : "Caption";
            editControl.Properties.ValueMember = "Key";
            editControl.Properties.NullText = "";
            // Init Columns
            editControl.Properties.Columns.AddRange(
                new LookUpColumnInfo[] { 
                    new LookUpColumnInfo("Key", 30, "#"),
                    new LookUpColumnInfo("Caption", 70, "Caption")
                }
            );

            ((ISupportInitialize)editControl.Properties).EndInit();
        }

        /// <summary>
        /// Initialize LookUpEdit columns for descriptor.
        /// </summary>
        /// <param name="editControl">LookUpEdit Control</param>
        public static void InitializeDescriptor(this LookUpEdit editControl) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            InitializeDescriptor(editControl, false);
        }

        #endregion

        #region Repository Item LookUpEdit

        /// <summary>
        /// Initialize Repository Item LookUpEdit columns (Key, Name) for descriptor. <br/>
        /// Both ValueMember and DisplayMember are 'Name'.
        /// </summary>
        /// <param name="editControl">LookUpEdit Control</param>
        /// <param name="keyAsCaption">Show key as description</param>
        public static void InitializeNameDescriptor(this RepositoryItemLookUpEdit editControl) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");
            
            editControl.DisplayMember = "Name";
            editControl.ValueMember = "Key";
            editControl.NullText = "";
            // Init Columns
            editControl.Columns.AddRange(
                new LookUpColumnInfo[] { 
                    new LookUpColumnInfo("Key", 30, "#"),
                    new LookUpColumnInfo("Name", 70, "Name")
                }
            );
        }

        /// <summary>
        /// Initialize Repository Item LookUpEdit columns (Key, Caption) for descriptor. <br/>
        /// ValueMember is 'Key'. <br/>
        /// </summary>
        /// <param name="editControl">LookUpEdit Control</param>
        /// <param name="keyAsCaption">Show key as description</param>
        public static void InitializeDescriptor(this RepositoryItemLookUpEdit editControl, bool keyAsCaption) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            editControl.DisplayMember = keyAsCaption ? "Key" : "Caption";
            editControl.ValueMember = "Key";
            editControl.NullText = "";
            // Init Columns
            editControl.Columns.AddRange(
                new LookUpColumnInfo[] { 
                    new LookUpColumnInfo("Key", 30, "#"),
                    new LookUpColumnInfo("Caption", 70, "Caption")
                }
            );
        }

        /// <summary>
        /// Initialize Repository Item LookUpEdit columns for descriptor.
        /// </summary>
        /// <param name="editControl">LookUpEdit Control</param>
        public static void InitializeDescriptor(this RepositoryItemLookUpEdit editControl) {
            if (editControl == null)
                throw new ArgumentNullException("editControl");

            InitializeDescriptor(editControl, false);
        }

        #endregion

        #endregion

        #region Add Clear Button for Popup Edit

        /// <summary>
        /// Add clear button to a specified Popup Edit (e.g. LookUpEdit, DateEdit).
        /// </summary>
        /// <param name="pEdit">Popup edit</param>
        public static void AddClearButton(this PopupBaseEdit pEdit) {
            if (pEdit == null)
                throw new ArgumentNullException("pEdit");

            ((ISupportInitialize)pEdit.Properties).BeginInit();

            // Add Button
            pEdit.Properties.Buttons.Add(new EditorButton(ButtonPredefines.Delete, "Clear"));
            // Clear edit value
            // when 'Delete' button click
            pEdit.ButtonClick += PopupBaseEdit_ButtonClick;

            ((ISupportInitialize)pEdit.Properties).EndInit();
        }

        private static void PopupBaseEdit_ButtonClick(object sender, ButtonPressedEventArgs e) {
            PopupBaseEdit pEdit = sender as PopupBaseEdit;
            if (pEdit == null)
                return;

            pEdit.EditValue = null;
        }

        #endregion
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值