| | |
| | | namespace HDL_ON.Stan
|
| | | {
|
| | | /// <summary>
|
| | | /// 底部时间选择控件(时和分),不需要加到父控件
|
| | | /// 底部时间选择控件
|
| | | /// </summary>
|
| | | public class BottomTimeSelectControl : BottomDialogCommon
|
| | | {
|
| | |
| | | /// 结束事件(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;
|
| | |
|
| | |
|
| | |
| | | #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);
|
| | |
| | | {
|
| | | 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; |
| | |
|
| | | }
|
| | |
|
| | |
| | | //已经初始化
|
| | | 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);
|
| | |
|
| | | //取消
|
| | |
| | | //时间控件
|
| | | 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);
|
| | | }
|
| | |
| | | };
|
| | | }
|
| | |
|
| | | /// <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 ■ 一般方法___________________________
|