public partial class UserDateEdit : DevExpress.XtraEditors.XtraUserControl { public UserDateEdit() { InitializeComponent(); Init(); } private void Init() { _chkVisible = _chkDate = true; datetime.EditValue = _dttime = DateTime.Parse(DateTime.Now.ToString("yyy-MM-dd HH:mm:ss")); InitVisible(); } private void InitVisible() { if (_chkVisible) { lychkDateEdit.Visibility = LayoutVisibility.Always; } else { lychkDateEdit.Visibility = LayoutVisibility.Never; chkDateEdit.Checked = datetime.Enabled = true; } } private bool _chkVisible = false; /// <summary> /// 显示chk控件 /// </summary> [Description("chkVisible")] public bool chkVisible { get { return _chkVisible; } set { _chkVisible = value; InitVisible(); } } private bool _chkDate; /// <summary> /// chkDateEdit /// </summary> [Description("chkDateEdit")] public bool chkDate { get { return _chkDate; } set { _chkDate = value; chkDateEdit.Checked = _chkDate; } } private DateTime _dttime; /// <summary> /// 时间 /// </summary> [Description("选择时间")] public DateTime dttime { get { return _dttime; } set { _dttime = value; datetime.EditValue = _dttime; } } public UserDateEdit _checkChangeControl; public UserDateEdit CheckChangeControl { get { return _checkChangeControl; } set { _checkChangeControl = value; if (value != null) _checkChangeControl.chkDateEdit.CheckedChanged += new EventHandler(TimePicker_ValueChanged); } } private void TimePicker_ValueChanged(object sender, EventArgs e) { this.chkDateEdit.Checked = _checkChangeControl.chkDateEdit.Checked; datetime.Enabled = chkDateEdit.Checked; } private void datetime_EditValueChanged(object sender, EventArgs e) { dttime = _dttime = ConvertToObj.ObjectToDateTime(datetime.Text); } }
使用时候绑定时间控件
效果图
dateEdit常用属性
CalendarTimeEditing=DevExpress.Utils.DefaultBoolean.True;
CalendarView=DevExpress.XtraEditors.Repository.CalendarView.Vista;
VistaDisplayMode = DevExpress.Utils.DefaultBoolean.True;
DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
EditFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
EditFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
Mask.EditMask = "yyyy-MM-dd HH:mm:ss";