using Shared; using HDL_ON.UI.CSS; using HDL_ON.Stan; using System; using System.Collections.Generic; using System.Text; namespace HDL_ON.UI { /// /// 门锁的选择日期时间界面 /// public class DoorLockSelectTimePage : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 选择结束的事件 /// public Action SelectFinshEvent = null; /// /// 选择的时间 /// private DateTime selectDateTime; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 一个时间 public void ShowForm(DateTime i_dateTime) { this.selectDateTime = i_dateTime; //选择时间 base.SetTitleText(Language.StringByID(StringId.SelectTime)); //初始化中部信息 this.InitMiddleFrame(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { //清空bodyFrame this.ClearBodyFrame(); //选择日期 var rowDate = new RowLayoutControl(); rowDate.BackgroundColor = CSS_Color.MainBackgroundColor; bodyFrameLayout.AddChidren(rowDate); rowDate.frameTable.AddLeftCaption(Language.StringByID(StringId.SelectDate), 300); rowDate.frameTable.AddRightArrow(); rowDate.frameTable.AddBottomLine(); var btnDay = rowDate.frameTable.AddMostRightView(this.selectDateTime.ToString("yyyy.MM.dd"), 300); rowDate.frameTable.ButtonClickEvent += (sender, e) => { //显示日期选择的底部弹窗 var contr = new BottomDateSelectControl(); contr.InitControl(this.selectDateTime.Year, this.selectDateTime.Month, this.selectDateTime.Day, 1, 1); contr.FinishEvent += (div, year, month, day) => { //覆盖时间 if (div == 1) { this.selectDateTime = new DateTime(year, month, day, this.selectDateTime.Hour, this.selectDateTime.Minute, 0); btnDay.Text = this.selectDateTime.ToString("yyyy.MM.dd"); } }; }; //选择时间 var rowTime = new RowLayoutControl(); rowTime.Y = rowDate.Bottom; rowTime.BackgroundColor = CSS_Color.MainBackgroundColor; bodyFrameLayout.AddChidren(rowTime); rowTime.frameTable.AddLeftCaption(Language.StringByID(StringId.SelectTime), 300); rowTime.frameTable.AddRightArrow(); var btnTime = rowTime.frameTable.AddMostRightView(this.selectDateTime.ToString("HH:mm"), 300); rowTime.frameTable.ButtonClickEvent += (sender, e) => { //显示日期选择的底部弹窗 var contr = new BottomTimeSelectControl(); contr.RowCount = 5; contr.InitControl(this.selectDateTime.Hour, this.selectDateTime.Minute, -1); contr.FinishEvent += (div, hour, minute) => { //覆盖时间 if (div == 1) { this.selectDateTime = new DateTime(this.selectDateTime.Year, this.selectDateTime.Month, this.selectDateTime.Day, hour, minute, 0); btnTime.Text = this.selectDateTime.ToString("HH:mm"); } }; }; } #endregion #region ■ 界面关闭___________________________ /// /// 界面关闭 /// public override void CloseFormBefore() { base.CloseFormBefore(); //调用回调事件 this.SelectFinshEvent?.Invoke(this.selectDateTime); this.SelectFinshEvent = null; } #endregion } }