HDL Home App 第二版本 旧平台金堂用 正在使用
chenqiyang
2022-06-22 dc0309e64f02227d8e1468b7326c07955f804612
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressBar.cs
old mode 100755 new mode 100644
@@ -14,61 +14,61 @@
        /// 当前值
        /// </summary>
        private static decimal m_value = 0;
        /// <summary>
        /// 强制不显示进度条
        /// <summary>
        /// 强制不显示进度条
        /// </summary>
        private static bool notShow = false;
        /// <summary>
        /// 强制不关闭进度条
        /// <summary>
        /// 强制不关闭进度条
        /// </summary>
        private static bool notClose = false;
        /// <summary>
        /// 特殊需求:强制不变更进度条的值
        /// <summary>
        /// 特殊需求:强制不变更进度条的值
        /// </summary>
        private static bool notSetValue = false;
        /// <summary>
        /// 附加文本
        /// <summary>
        /// 附加文本
        /// </summary>
        private static string appendText = string.Empty;
        /// <summary>
        /// 显示进度条
        /// </summary>
        /// <summary>
        /// 显示进度条
        /// </summary>
        /// <param name="text">初始文本</param>
        public static void Show(string text = "")
        {
        {
            m_value = 0;
            Application.RunOnMainThread(() =>
            {
                if (Common.CommonPage.Loading.Visible == false && notShow == false)
                {
                    Common.CommonPage.Loading.Start(text);
                }
            });
            HdlThreadLogic.Current.RunMain(() =>
            {
                if (Common.CommonPage.Loading.Visible == false && notShow == false)
                {
                    Common.CommonPage.Loading.Start(text);
                }
            }, ShowErrorMode.NO);
        }
        /// <summary>
        /// 隐藏进度条
        /// </summary>
        /// <summary>
        /// 隐藏进度条
        /// </summary>
        /// <param name="coerce">强制关闭</param>
        public static void Close(bool coerce = false)
        {
        {
            m_value = 0;
            Max = 0;
            if (coerce == true)
            {
                notClose = false;
            if (coerce == true)
            {
                notClose = false;
            }
            Application.RunOnMainThread(() =>
            {
                if (Common.CommonPage.Loading.Visible == true && notClose == false)
                {
                    Common.CommonPage.Loading.Hide();
                    notShow = false;
                    notClose = false;
                    notSetValue = false;
            HdlThreadLogic.Current.RunMain(() =>
            {
                if (Common.CommonPage.Loading.Visible == true && notClose == false)
                {
                    Common.CommonPage.Loading.Hide();
                    notShow = false;
                    notClose = false;
                    notSetValue = false;
                }
            });
            }, ShowErrorMode.NO);
        }
        /// <summary>
@@ -79,10 +79,14 @@
        {
            m_value += value;
            int value2 = (int)((m_value / Max) * 100);
            if (value2 > 100)
            {
                value2 = 100;
            }
            SetValue(value2.ToString() + "%");
        }
        }
        /// <summary>
        /// 进度值设定
        /// </summary>
@@ -92,6 +96,10 @@
        {
            m_value += value;
            int value2 = (int)((m_value / Max) * 100);
            if (value2 > 100)
            {
                value2 = 100;
            }
            SetValue(value2.ToString() + "% " + text);
        }
@@ -102,65 +110,65 @@
        /// <param name="text">Text.</param>
        public static void SetValue(string text)
        {
            if (notSetValue == true)
            {
                return;
            if (notSetValue == true)
            {
                return;
            }
            Application.RunOnMainThread(() =>
            HdlThreadLogic.Current.RunMain(() =>
            {
                //loading.Text = text;
                Common.CommonPage.Loading.Text = text + appendText;
            });
        }
            }, ShowErrorMode.NO);
        }
        /// <summary>
        /// 设定进度值最大的值(分母)
        /// </summary>
        /// <param name="maxValue">设定进度值最大的值(分母)</param>
        public static void SetMaxValue(decimal maxValue)
        {
        {
            Max = maxValue;
        }
        /// <summary>
        /// 强制设置不再显示进度条,直到进度条可以关闭或者再次设置
        /// </summary>
        /// <summary>
        /// 强制设置不再显示进度条,直到进度条可以关闭或者再次设置
        /// </summary>
        /// <param name="i_notShow">是否强制不显示</param>
        public static void SetShowBarFlag(bool i_notShow)
        {
            notShow = i_notShow;
        }
        /// <summary>
        /// 强制设置不再关闭进度条,直到进度条可以关闭或者再次设置
        /// </summary>
        /// <param name="i_notClose">是否强制不关闭</param>
        public static void SetCloseBarFlag(bool i_notClose)
        {
            notClose = i_notClose;
        }
        /// <summary>
        /// 强制设置不变更进度条的值,直到进度条可以关闭或者再次设置
        /// </summary>
        /// <param name="i_notSetvalue">是否强制不变更进度条的值</param>
        public static void SetSetValueFlag(bool i_notSetvalue)
        {
            notSetValue = i_notSetvalue;
        public static void SetShowBarFlag(bool i_notShow)
        {
            notShow = i_notShow;
        }
        /// <summary>
        /// 在进度条里面附加自定义文本
        /// </summary>
        /// <summary>
        /// 强制设置不再关闭进度条,直到进度条可以关闭或者再次设置
        /// </summary>
        /// <param name="i_notClose">是否强制不关闭</param>
        public static void SetCloseBarFlag(bool i_notClose)
        {
            notClose = i_notClose;
        }
        /// <summary>
        /// 强制设置不变更进度条的值,直到进度条可以关闭或者再次设置
        /// </summary>
        /// <param name="i_notSetvalue">是否强制不变更进度条的值</param>
        public static void SetSetValueFlag(bool i_notSetvalue)
        {
            notSetValue = i_notSetvalue;
        }
        /// <summary>
        /// 在进度条里面附加自定义文本
        /// </summary>
        /// <param name="i_text"></param>
        public static void SetAppendText(string i_text)
        {
            appendText = i_text;
            if (appendText != string.Empty)
            {
                //多加一个空格
                appendText = " " + appendText;
            }
        public static void SetAppendText(string i_text)
        {
            appendText = i_text;
            if (appendText != string.Empty)
            {
                //多加一个空格
                appendText = " " + appendText;
            }
        }
    }
}