using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone.UserCenter { /// <summary> /// FrameLayout的最åˆåŽŸåž‹ /// </summary> public class FrameLayoutBase : FrameLayout { #region â– å˜é‡å£°æ˜Ž___________________________ /// <summary> /// 设置能å¦è§¦ç‚¹å‡»äº‹ä»¶ /// </summary> public bool CanClick = true; /// <summary> /// 声明æ¤å˜é‡,旨在å线程也能够去获å–一个控件的主键 /// </summary> public string MainKey = string.Empty; /// <summary> /// 控件的点击事件(自定义å°è£…事件,æ¤äº‹ä»¶è¢«è®¤å¯ä¸ºæ‰§è¡ŒæŒ‰é’®æŒ‰ä¸‹äº‹ä»¶,å—CanClick属性控制) /// </summary> public Action<object, MouseEventArgs> ButtonClickEvent = null; #endregion #region â– åˆå§‹åŒ–_____________________________ /// <summary> /// FrameLayout的最åˆåŽŸåž‹ /// </summary> public FrameLayoutBase() { //点击事件 this.MouseUpEventHandler += ButtonBase_MouseUpEventHandler; } #endregion #region ■点击事件___________________________ /// <summary> /// 点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonBase_MouseUpEventHandler(object sender, MouseEventArgs e) { if (ButtonClickEvent == null) { this.MouseUpEventHandler -= ButtonBase_MouseUpEventHandler; return; } //2020.05.14è¿½åŠ IsFormAdding:界é¢è¿˜åœ¨åŠ è½½ä¸,ä¸èƒ½å†ç‚¹å‡» if (CanClick == true && ControlCommonResourse.IsFormAdding == false) { //Log出力 this.WriteLog(); try { this.ButtonClickEvent(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="i_size"></param> /// <returns></returns> public int GetPictrueRealSize(int i_size) { return HdlControlLogic.Current.GetPictrueRealSize(i_size); } /// <summary> /// æŽ§ä»¶æ‘§æ¯ /// </summary> public override void RemoveFromParent() { ButtonClickEvent = null; if (this.Parent != null) { base.RemoveFromParent(); } } /// <summary> /// ☆☆移除全部控件☆☆ /// </summary> public override void RemoveAll() { if (this.Parent != null) { base.RemoveAll(); } } #endregion #region â– Log出力____________________________ /// <summary> /// 该控件所属的界é¢åå— /// </summary> public string formName = null; /// <summary> /// Log出力 /// </summary> private void WriteLog() { if (formName == null) { formName = string.Empty; View myView = this.Parent; for (; ; ) { if (myView == null) { break; } else if (myView is CommonFormBase) { //è¿™ä¸ªæŽ§ä»¶æ‰€å±žçš„ç•Œé¢ formName = ((CommonFormBase)myView).FormID; break; } myView = myView.Parent; } } HdlLogLogic.Current.WriteLog(1, formName + "çš„[Y" + this.Y + "]被点击"); } #endregion } }