| | |
| | | /// </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>
|
| | |
| | | /// </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
|
| | |
| | | return HdlControlLogic.Current.GetPictrueRealSize(i_size);
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 控件摧毁
|
| | | /// </summary>
|
| | | public override void RemoveFromParent()
|
| | | {
|
| | | ButtonClickEvent = null;
|
| | |
|
| | | if (this.Parent != null)
|
| | | {
|
| | | base.RemoveFromParent();
|
| | | }
|
| | | }
|
| | |
|
| | | #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
|
| | |
|
| | | }
|