From 9d61367c1fd278f58f721d4c0e69999f89e4485d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 12 十二月 2019 14:14:30 +0800
Subject: [PATCH] 添加最新绑定机制
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs | 142 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 115 insertions(+), 27 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
old mode 100755
new mode 100644
index 9427cee..42798c2
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
@@ -32,9 +32,22 @@
}
/// <summary>
- /// 鎺т欢鐨勭偣鍑讳簨浠�(姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠讹紝鍙桟anClick灞炴�ф帶鍒�)
+ /// 鏄惁鏄暱鎸夌姸鎬�
+ /// </summary>
+ private bool isLongClick = false;
+
+ /// <summary>
+ /// 鎺т欢鐨勭偣鍑讳簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�)
/// </summary>
public Action<Button, MouseEventArgs> ButtonClickEvent = null;
+ /// <summary>
+ /// (鈽呭綋鍓嶄笉瑕佷娇鐢ㄢ槄)鎺т欢鐨勯暱鎸変簨浠�,褰撲簨浠朵负null鏃�,浠h〃闀挎寜缁撴潫(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽暱鎸変簨浠�,鍙桟anClick灞炴�ф帶鍒�)
+ /// </summary>
+ public Action<Button, MouseEventArgs> ButtonLongClickEvent = null;
+ /// <summary>
+ /// 鎺т欢鐨勬寜涓嬩簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�)
+ /// </summary>
+ public Action<Button, MouseEventArgs> ButtonDownClickEvent = null;
#endregion
@@ -53,6 +66,10 @@
//鐐瑰嚮浜嬩欢
this.MouseUpEventHandler += ButtonBase_MouseUpEventHandler;
+ //鎸変笅浜嬩欢
+ this.MouseDownEventHandler += ButtonBase_MouseDownEventHandler;
+ //闀挎寜浜嬩欢
+ this.MouseLongEventHandler += ButtonBase_MouseLongEventHandler;
}
/// <summary>
@@ -125,11 +142,94 @@
if (CanClick == true)
{
//Log鍑哄姏
- this.WriteLog();
+ this.WriteLog(0);
try
{
- this.ButtonClickEvent?.Invoke(this, e);
+ if (this.isLongClick == false)
+ {
+ this.ButtonClickEvent(this, e);
+ }
+ else if (ButtonLongClickEvent != null)
+ {
+ //闀挎寜缁撴潫
+ this.ButtonLongClickEvent(this, null);
+ }
+ }
+ catch (Exception ex)
+ {
+ //鍑虹幇鏈煡閿欒
+ var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+ alert.Show();
+ //Log鍑哄姏
+ HdlLogLogic.Current.WriteLog(ex);
+ }
+ }
+ //鐘舵�佽繕鍘�
+ this.isLongClick = false;
+ }
+
+ #endregion
+
+ #region 鈻� 鎸変笅浜嬩欢___________________________
+
+ /// <summary>
+ /// 鎸変笅浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void ButtonBase_MouseDownEventHandler(object sender, MouseEventArgs e)
+ {
+ //杩樺師鐘舵��
+ this.isLongClick = false;
+
+ if (CanClick == false || this.ButtonDownClickEvent == null)
+ {
+ //涓嶈兘鐐瑰嚮
+ return;
+ }
+
+ try
+ {
+ this.ButtonDownClickEvent(this, e);
+ }
+ catch (Exception ex)
+ {
+ //鍑虹幇鏈煡閿欒
+ var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+ alert.Show();
+ //Log鍑哄姏
+ HdlLogLogic.Current.WriteLog(ex);
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 闀挎寜浜嬩欢___________________________
+
+ /// <summary>
+ /// 闀挎寜浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void ButtonBase_MouseLongEventHandler(object sender, MouseEventArgs e)
+ {
+ //闀挎寜鐘舵��
+ this.isLongClick = true;
+
+ if (ButtonLongClickEvent == null)
+ {
+ this.MouseLongEventHandler -= ButtonBase_MouseLongEventHandler;
+ return;
+ }
+ if (CanClick == true)
+ {
+ //Log鍑哄姏
+ this.WriteLog(1);
+
+ try
+ {
+ this.ButtonLongClickEvent(this, e);
}
catch (Exception ex)
{
@@ -165,21 +265,14 @@
#region 鈻� 涓�鑸柟娉昣__________________________
/// <summary>
- /// 閲嶇疆鍗曞嚮浜嬩欢(姝ゆ搷浣滃鎵樹細鍙榥ull)
- /// </summary>
- public void ResetClickEvent()
- {
- ButtonClickEvent = null;
- this.MouseUpEventHandler -= this.ButtonBase_MouseUpEventHandler;
- this.MouseUpEventHandler += this.ButtonBase_MouseUpEventHandler;
- }
-
- /// <summary>
/// 鎺т欢鎽ф瘉
/// </summary>
public override void RemoveFromParent()
{
ButtonClickEvent = null;
+ ButtonDownClickEvent = null;
+ ButtonLongClickEvent = null;
+
base.RemoveFromParent();
}
@@ -233,18 +326,6 @@
return Application.GetRealWidth(realWidth + 20);
}
- /// <summary>
- /// 娣诲姞搴曢儴闃村奖鐗规晥(纭繚鎷ユ湁鐖舵帶浠跺悗鎵嶈皟鐢�)
- /// </summary>
- public void AddBottomShadow()
- {
- var btnShadow = new PicViewControl(this.Width, Application.GetMinRealAverage(45), false);
- btnShadow.X = this.X;
- btnShadow.Y = this.Bottom;
- btnShadow.UnSelectedImagePath = "Item/BottomShadow.png";
- this.Parent.AddChidren(btnShadow);
- }
-
#endregion
#region 鈻� Log鍑哄姏____________________________
@@ -261,7 +342,7 @@
/// <summary>
/// Log鍑哄姏
/// </summary>
- private void WriteLog()
+ private void WriteLog(int div)
{
if (formName == null)
{
@@ -292,7 +373,14 @@
controlName = this.UnSelectedImagePath;
}
}
- HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚偣鍑�");
+ if (div == 0)
+ {
+ HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚偣鍑�");
+ }
+ else
+ {
+ HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚暱鎸�");
+ }
}
#endregion
--
Gitblit v1.8.0