From dfcb2a1844fd55b57bae23e290b30ec6380e8508 Mon Sep 17 00:00:00 2001 From: chenqiyang <1406175257@qq.com> Date: 星期五, 26 八月 2022 15:04:22 +0800 Subject: [PATCH] 更新全视通dll --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs | 387 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 196 insertions(+), 191 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs old mode 100755 new mode 100644 index f05c584..e2c994c --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs @@ -1,191 +1,196 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter -{ - /// <summary> - /// 鏃ユ湡閫夋嫨鎺т欢(璁剧疆鍜岃幏鍙栧��,璇蜂娇鐢� dateValue) - /// </summary> - public class DateSelectControl : ButtonBase - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 鏃ユ湡閫夋嫨鏃堕棿(8浣�,濡傦細20101231) - /// </summary> - public Action<string> DateSelectEvent = null; - /// <summary> - /// 鏃ユ湡鏍煎紡 - /// </summary> - private string dateFomat = string.Empty; - /// <summary> - /// 鏍囬淇℃伅 - /// </summary> - private string titleText = string.Empty; - - private string m_dateValue = "00000000"; - /// <summary> - /// 璁剧疆鎴栬�呰幏鍙栨棩鏈熷��(8浣�,濡傦細20101231) - /// </summary> - public string dateValue - { - get { return m_dateValue; } - set - { - this.m_dateValue = value; - - int year = Convert.ToInt32(value.Substring(0, 4)); - int month = Convert.ToInt32(value.Substring(4, 2)); - int day = Convert.ToInt32(value.Substring(6, 2)); - - var myTime = new DateTime(year, month, day); - this.Text = myTime.ToString(this.dateFomat); - } - } - - /// <summary> - /// 骞� - /// </summary> - public int Year - { - get { return Convert.ToInt32(m_dateValue.Substring(0, 4)); } - } - - /// <summary> - /// 鏈� - /// </summary> - public int Month - { - get { return Convert.ToInt32(m_dateValue.Substring(4, 2)); } - } - - /// <summary> - /// 鏃� - /// </summary> - public int Day - { - get { return Convert.ToInt32(m_dateValue.Substring(6, 2)); } - } - - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鏃ユ湡閫夋嫨鎺т欢(璁剧疆鍜岃幏鍙栧��,璇蜂娇鐢� dateValue) - /// </summary> - /// <param name="i_titleText">鏍囬鏂囨湰</param> - /// <param name="i_dateFomat">鏃ユ湡鏍煎紡</param> - public DateSelectControl(string i_titleText = "", string i_dateFomat = "yyyy/MM/dd") - { - this.dateFomat = i_dateFomat; - this.titleText = i_titleText; - - this.TextSize = 12; - this.InitSize(210, 49, true); - - //寮硅捣鏃ユ湡閫夋嫨 - this.ButtonClickEvent += (sender, e) => - { - //鏃ユ湡閫夋嫨 - this.DoSelectDate(); - }; - } - - #endregion - - #region 鈻� 鏃ユ湡閫夋嫨___________________________ - - /// <summary> - /// 鏃ユ湡閫夋嫨 - /// </summary> - private void DoSelectDate() - { - var listYear = new List<string>(); - int nowYear = Convert.ToInt32(DateTime.Now.ToString("yyyy")); - for (int i = 0; i < 6; i++) - { - //浜斿勾鏃堕棿 - listYear.Insert(0, (nowYear - i).ToString()); - } - //鏈� - var listMonth = new List<string>(); - var monthText = Language.StringByID(R.MyInternationalizationString.Month); - for (int i = 1; i <= 12; i++) - { - listMonth.Add(i.ToString().PadLeft(2, '0') + monthText); - } - //鏃� - var listDay = new List<string>(); - var dayText = Language.StringByID(R.MyInternationalizationString.Day); - for (int i = 1; i <= 31; i++) - { - listDay.Add(i.ToString().PadLeft(2, '0') + dayText); - } - PickerView.ShowNormal(listYear, listMonth, listDay, (iyear, imonth, iday) => - { - //鑾峰彇姝g‘鐨勬棩鏈熸枃鏈� - string datetTemp = this.GetRightDateText(Convert.ToInt32(listYear[iyear]), Convert.ToInt32(listMonth[imonth].Substring(0, 2)), Convert.ToInt32(listDay[iday].Substring(0, 2))); - bool change = datetTemp != this.dateValue; - //鏂囨湰鏄剧ず - this.dateValue = datetTemp; - if (change == true) - { - //鍊兼敼鍙樻墠浼氳皟鐢ㄥ洖璋冨嚱鏁� - DateSelectEvent?.Invoke(datetTemp); - } - }, - listYear.IndexOf(m_dateValue.Substring(0, 4)), - listMonth.IndexOf(m_dateValue.Substring(4, 2) + monthText), - listDay.IndexOf(m_dateValue.Substring(6, 2) + dayText), - this.titleText, - Language.StringByID(R.MyInternationalizationString.uFinish), - Language.StringByID(R.MyInternationalizationString.uCancel)); - } - - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - /// <summary> - /// 鑾峰彇姝g‘鐨勬棩鏈熸枃鏈� - /// </summary> - /// <param name="year"></param> - /// <param name="month"></param> - /// <param name="day"></param> - /// <returns></returns> - private string GetRightDateText(int year, int month, int day) - { - if (month == 4 || month == 6 || month == 9 || month == 11) - { - if (day > 30) - { - day = 30; - } - } - else if (month == 2) - { - //闂板勾 - if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) - { - if (day > 29) - { - day = 29; - } - } - else - { - if (day > 28) - { - day = 28; - } - } - } - return year.ToString() + month.ToString().PadLeft(2, '0') + day.ToString().PadLeft(2, '0'); - } - - #endregion - } -} +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 鏃ユ湡閫夋嫨鎺т欢(璁剧疆鍜岃幏鍙栧��,璇蜂娇鐢� dateValue) + /// </summary> + public class DateSelectControl : ButtonBase + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 鏃ユ湡閫夋嫨鏃堕棿(8浣�,濡傦細20101231) + /// </summary> + public Action<string> DateSelectEvent = null; + /// <summary> + /// 鏃ユ湡鏍煎紡 + /// </summary> + private string dateFomat = string.Empty; + /// <summary> + /// 鏍囬淇℃伅 + /// </summary> + private string titleText = string.Empty; + + private string m_dateValue = "00000000"; + /// <summary> + /// 璁剧疆鎴栬�呰幏鍙栨棩鏈熷��(8浣�,濡傦細20101231) + /// </summary> + public string dateValue + { + get { return m_dateValue; } + set + { + this.m_dateValue = value; + + int year = Convert.ToInt32(value.Substring(0, 4)); + int month = Convert.ToInt32(value.Substring(4, 2)); + int day = Convert.ToInt32(value.Substring(6, 2)); + + var myTime = new DateTime(year, month, day); + this.Text = myTime.ToString(this.dateFomat); + } + } + + /// <summary> + /// 骞� + /// </summary> + public int Year + { + get { return Convert.ToInt32(m_dateValue.Substring(0, 4)); } + } + + /// <summary> + /// 鏈� + /// </summary> + public int Month + { + get { return Convert.ToInt32(m_dateValue.Substring(4, 2)); } + } + + /// <summary> + /// 鏃� + /// </summary> + public int Day + { + get { return Convert.ToInt32(m_dateValue.Substring(6, 2)); } + } + + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鏃ユ湡閫夋嫨鎺т欢(璁剧疆鍜岃幏鍙栧��,璇蜂娇鐢� dateValue) + /// </summary> + /// <param name="i_titleText">鏍囬鏂囨湰</param> + /// <param name="i_dateFomat">鏃ユ湡鏍煎紡</param> + public DateSelectControl(string i_titleText = "", string i_dateFomat = "yyyy/MM/dd") + { + this.dateFomat = i_dateFomat; + this.titleText = i_titleText; + + //鐢ㄦ潵璁$畻闀垮害鐨� + string dateTextTemp = DateTime.Now.ToString(i_dateFomat); + this.TextSize = 12; + this.Text = dateTextTemp; + + this.InitSize(this.GetRealWidthByText(), Application.GetRealHeight(50), false); + this.Text = string.Empty; + + //寮硅捣鏃ユ湡閫夋嫨 + this.ButtonClickEvent += (sender, e) => + { + //鏃ユ湡閫夋嫨 + this.DoSelectDate(); + }; + } + + #endregion + + #region 鈻� 鏃ユ湡閫夋嫨___________________________ + + /// <summary> + /// 鏃ユ湡閫夋嫨 + /// </summary> + private void DoSelectDate() + { + var listYear = new List<string>(); + int nowYear = Convert.ToInt32(DateTime.Now.ToString("yyyy")); + for (int i = 0; i < 6; i++) + { + //浜斿勾鏃堕棿 + listYear.Insert(0, (nowYear - i).ToString()); + } + //鏈� + var listMonth = new List<string>(); + var monthText = Language.StringByID(R.MyInternationalizationString.Month); + for (int i = 1; i <= 12; i++) + { + listMonth.Add(i.ToString().PadLeft(2, '0') + monthText); + } + //鏃� + var listDay = new List<string>(); + var dayText = Language.StringByID(R.MyInternationalizationString.Day); + for (int i = 1; i <= 31; i++) + { + listDay.Add(i.ToString().PadLeft(2, '0') + dayText); + } + PickerView.ShowNormal(listYear, listMonth, listDay, (iyear, imonth, iday) => + { + //鑾峰彇姝g‘鐨勬棩鏈熸枃鏈� + string datetTemp = this.GetRightDateText(Convert.ToInt32(listYear[iyear]), Convert.ToInt32(listMonth[imonth].Substring(0, 2)), Convert.ToInt32(listDay[iday].Substring(0, 2))); + bool change = datetTemp != this.dateValue; + //鏂囨湰鏄剧ず + this.dateValue = datetTemp; + if (change == true) + { + //鍊兼敼鍙樻墠浼氳皟鐢ㄥ洖璋冨嚱鏁� + DateSelectEvent?.Invoke(datetTemp); + } + }, + listYear.IndexOf(m_dateValue.Substring(0, 4)), + listMonth.IndexOf(m_dateValue.Substring(4, 2) + monthText), + listDay.IndexOf(m_dateValue.Substring(6, 2) + dayText), + this.titleText, + Language.StringByID(R.MyInternationalizationString.uFinish), + Language.StringByID(R.MyInternationalizationString.uCancel)); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鑾峰彇姝g‘鐨勬棩鏈熸枃鏈� + /// </summary> + /// <param name="year"></param> + /// <param name="month"></param> + /// <param name="day"></param> + /// <returns></returns> + private string GetRightDateText(int year, int month, int day) + { + if (month == 4 || month == 6 || month == 9 || month == 11) + { + if (day > 30) + { + day = 30; + } + } + else if (month == 2) + { + //闂板勾 + if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) + { + if (day > 29) + { + day = 29; + } + } + else + { + if (day > 28) + { + day = 28; + } + } + } + return year.ToString() + month.ToString().PadLeft(2, '0') + day.ToString().PadLeft(2, '0'); + } + + #endregion + } +} -- Gitblit v1.8.0