wxr
2021-06-09 cb6e11c5067ecaba4d8f9907989154167c1e8943
HDL_ON/UI/UI0-Stan/Controls/BottomControls/BottomTimeSelectControl.cs
@@ -7,7 +7,7 @@
namespace HDL_ON.Stan
{
    /// <summary>
    /// 底部时间选择控件(时和分),不需要加到父控件
    /// 底部时间选择控件
    /// </summary>
    public class BottomTimeSelectControl : BottomDialogCommon
    {
@@ -17,24 +17,24 @@
        /// 结束事件(0:点击了取消  1:点击了确定,第二,三参数为时和分)
        /// </summary>
        public Action<int, int, int> FinishEvent = null;
        /// <summary>
        /// 小时取值范围
        /// <summary>
        /// 小时取值范围
        /// </summary>
        List<int> hRange = new List<int>();
        /// <summary>
        /// 分钟取值范围
        /// <summary>
        /// 分钟取值范围
        /// </summary>
        List<int> mRange = new List<int>();
        /// <summary>
        /// 时间控件
        /// </summary>
        UIPickerView pickerView;
        //选择的时与分
        int selectHour = 0;
        int selectMinute = 0;
        //XX时
        List<string> listHour;
        //XX分
        List<int> mRange = new List<int>();
        /// <summary>
        /// 时间控件
        /// </summary>
        UIPickerView pickerView;
        //选择的时与分
        int selectHour = 0;
        int selectMinute = 0;
        //XX时
        List<string> listHour ;
        //XX分
        List<string> listMinute;
@@ -43,16 +43,16 @@
        #region ■ 初始化_____________________________
        /// <summary>
        /// 底部时间选择控件(时和分),不需要加到父控件
        /// 底部时间选择控件
        /// </summary>
        /// <param name="i_title">标题</param>
        /// <param name="clickBackClose">点击背景时,是否关闭弹窗</param>
        public BottomTimeSelectControl(string i_title = "", bool clickBackClose = true)
        {
            base.ClickBackClose = clickBackClose;
            base.StrTitle = i_title;
            base.RowCount = 5;
            base.StrTitle = i_title;
            for (int i = 0; i <= 23; i++)
            {
                hRange.Add(i);
@@ -61,23 +61,23 @@
            {
                mRange.Add(i);
            }
        }
        }
        /// <summary>
        /// 底部时间选择控件(时和分),不需要加到父控件
        /// 底部时间选择控件
        /// </summary>
        /// <param name="i_title">标题</param>
        /// <param name="clickBackClose">点击背景时,是否关闭弹窗</param>
        public BottomTimeSelectControl(List<int> hoursRange, List<int> minuteRange, int rowCount, string i_title = "", bool clickBackClose = true)
        public BottomTimeSelectControl(List<int> hoursRange,List<int> minuteRange ,int rowCount, string i_title = "", bool clickBackClose = true)
        {
            base.ClickBackClose = clickBackClose;
            base.StrTitle = i_title;
            hRange = hoursRange;
            mRange = minuteRange;
            base.RowCount = rowCount;
            hRange = hoursRange;
            mRange = minuteRange;
            base.RowCount = rowCount;
        }
@@ -92,15 +92,9 @@
            //已经初始化
            if (base.btnCancel != null) { return; }
            this.selectHour = i_hour;
            this.selectMinute = i_minute;
            //初始化底层控件
            var frameWhiteBack = base.InitBaseControl();
            if (contentView != -1)
            {
                frameWhiteBack.Height = Application.GetRealHeight(contentView);
            }
            frameWhiteBack.Height = Application.GetRealHeight(contentView);
            //frameWhiteBack.Y = frameWhiteBack.Parent.Height - Application.GetRealHeight(297 + 20);
            //取消
@@ -131,27 +125,27 @@
            //时间控件
            pickerView = new UIPickerView();
            //时
            var strhour = HdlCommonLogic.Current.GetHourText();
            var strhour = Language.StringByID(StringId.h);
            //分
            var strMinute = HdlCommonLogic.Current.GetMinuteText();
            if(!isHour)
            {
                strhour = Language.StringByID(StringId.m);
            var strMinute = Language.StringByID(StringId.m);
            if(!isHour)
            {
                strhour = Language.StringByID(StringId.m);
                strMinute = Language.StringByID(StringId.s);
            }
            //XX时
            listHour = new List<string>();// { "00" + strhour };
            //XX分
            listMinute = new List<string>();// { "00" + strMinute };
            //for (int i = 1; i <= 23; i++)
            foreach (var hItem in hRange)
            listMinute = new List<string>();// { "00" + strMinute };
            //for (int i = 1; i <= 23; i++)
            foreach(var hItem in hRange)
            {
                listHour.Add(hItem.ToString().PadLeft(2, '0') + strhour);
            }
            //for (int i = 1; i <= 59; i++)
            foreach (var mItem in mRange)
            }
            //for (int i = 1; i <= 59; i++)
            foreach (var mItem in mRange)
            {
                listMinute.Add(mItem.ToString().PadLeft(2, '0') + strMinute);
            }
@@ -177,57 +171,32 @@
            };
        }
        /// <summary>
        /// 特殊的集合选择事件,凉霸时间设置使用
        /// <summary>
        /// 特殊的集合选择事件,凉霸时间设置使用
        /// </summary>
        public void ChangePickerEvent()
        {
        public void ChangePickerEvent()
        {
            pickerView.OnSelectChangeEvent = (value1, value2, value3) =>
            {
                if (value1 == 0 && value2 == 0)
                {
                    value2 = 1;
                    pickerView.setCurrentItems(value1, value2, 0);
            {
                if (value1 == 0 && value2 == 0)
                {
                    value2 = 1;
                    pickerView.setCurrentItems(value1, value2, 0);
                }
                else if (value1 == 4 && value2 == 1)
                {
                    value2 = 0;
                    pickerView.setCurrentItems(value1, value2, 0);
                }
                //else
                {
                    //更改索引
                    selectHour = Convert.ToInt32(listHour[value1].Substring(0, 2));
                    selectMinute = Convert.ToInt32(listMinute[value2].Substring(0, 2));
                }
                else if (value1 == 4 && value2 == 1)
                {
                    value2 = 0;
                    pickerView.setCurrentItems(value1, value2, 0);
                }
                else
                {
                    //更改索引
                    selectHour = Convert.ToInt32(listHour[value1].Substring(0, 2));
                    selectMinute = Convert.ToInt32(listMinute[value2].Substring(0, 2));
                }
            };
        }
            };
        }
        /// <summary>
        /// 特殊的集合选择事件,场景时间设置使用
        /// </summary>
        public void ChangePickerEvent2()
        {
            pickerView.OnSelectChangeEvent = (value1, value2, value3) =>
            {
                if (value1 == 60 && value2 == 60)
                {
                    value2 = 0;
                    pickerView.setCurrentItems(value1, value2, 0);
                }
                //else if (value1 == 4 && value2 == 1)
                //{
                //    value2 = 0;
                //    pickerView.setCurrentItems(value1, value2, 0);
                //}
                //else
                //{
                //    //更改索引
                //    selectHour = Convert.ToInt32(listHour[value1].Substring(0, 2));
                //    selectMinute = Convert.ToInt32(listMinute[value2].Substring(0, 2));
                //}
            };
        }
        #endregion
        #region ■ 一般方法___________________________