From 34b65350abbb8b740b9c3bc0b43254cbbe23fcb5 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 19 五月 2020 09:31:44 +0800
Subject: [PATCH] 合并代码,更改面板目标信息
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs | 196 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 196 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs
new file mode 100755
index 0000000..97a1833
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/NormalControls/DateSelectControl.cs
@@ -0,0 +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;
+
+ //鐢ㄦ潵璁$畻闀垮害鐨�
+ 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