From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001 From: chenqiyang <1406175257@qq.com> Date: 星期三, 22 六月 2022 11:22:18 +0800 Subject: [PATCH] 修改引用路径 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/AreaCodeSelectForm.cs | 1062 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 531 insertions(+), 531 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/AreaCodeSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/AreaCodeSelectForm.cs old mode 100755 new mode 100644 index b00607f..af7a278 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/AreaCodeSelectForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Form/AreaCodeSelectForm.cs @@ -1,40 +1,40 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter -{ - public class AreaCodeSelectForm : DialogCommonForm - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 瀹屾垚閫夋嫨鐨勪簨浠�(鍦板尯鐮�) - /// </summary> - public Action<string> FinishSelectEvent = null; - /// <summary> - /// 鍒楄〃鎺т欢 - /// </summary> - private VerticalListControl listView = null; - /// <summary> - /// 鍓嶅洖閫夋嫨鐨勬帶浠� - /// </summary> - private FrameRowControl oldFrameRowControl = null; - /// <summary> - /// 閿� - /// </summary> - private object objLock = new object(); - /// <summary> - /// 杩欎釜涓滆タ鏄釜闈欐��(瀹冩槸涓壒娈婄殑) - /// </summary> - private static List<AreaCodeInfo> listAreaCode = null; - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + public class AreaCodeSelectForm : DialogCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 瀹屾垚閫夋嫨鐨勪簨浠�(鍦板尯鐮�) + /// </summary> + public Action<string> FinishSelectEvent = null; + /// <summary> + /// 鍒楄〃鎺т欢 + /// </summary> + private VerticalListControl listView = null; + /// <summary> + /// 鍓嶅洖閫夋嫨鐨勬帶浠� + /// </summary> + private FrameRowControl oldFrameRowControl = null; + /// <summary> + /// 閿� + /// </summary> + private object objLock = new object(); + /// <summary> + /// 杩欎釜涓滆タ鏄釜闈欐��(瀹冩槸涓壒娈婄殑) + /// </summary> + private static List<AreaCodeInfo> listAreaCode = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) /// </summary> public void ShowForm() { @@ -46,11 +46,11 @@ /// 鍒濆鍖栦腑閮ㄤ俊鎭� /// </summary> private void InitMiddleFrame() - { + { var frameBack = new FrameLayout(); frameBack.Width = Application.GetRealWidth(850); frameBack.Height = Application.GetRealHeight(1342); - frameBack.Radius = 6; + frameBack.Radius = (uint)Application.GetRealHeight(17); frameBack.BackgroundColor = UserCenterColor.Current.White; frameBack.Gravity = Gravity.CenterHorizontal; frameBack.Y = Application.GetRealHeight(328); @@ -59,541 +59,541 @@ this.listView = new VerticalListControl(3); listView.Y = Application.GetRealHeight(164 - 11); listView.Height = frameBack.Height - Application.GetRealHeight(164 - 11); - listView.Radius = frameBack.Radius; - frameBack.AddChidren(listView); - - //璇烽�夋嫨鍖哄彿 - var btnTitle = new NormalViewControl(230, 60, true); - btnTitle.X = ControlCommonResourse.XXLeft; - btnTitle.Y = Application.GetRealHeight(69); - btnTitle.TextID = R.MyInternationalizationString.uPleaseSelectAreaCode; - btnTitle.TextSize = 15; - btnTitle.TextColor = UserCenterColor.Current.TextColor2; - frameBack.AddChidren(btnTitle); - - //鎼滅储 - var btnSearch = new MySearchControl(Language.StringByID(R.MyInternationalizationString.uSearch)); - btnSearch.X = Application.GetRealWidth(334); - btnSearch.Y = Application.GetRealHeight(46); - frameBack.AddChidren(btnSearch); - btnSearch.BindEvent(this.SearchEvent); - - HdlThreadLogic.Current.RunThread(() => - { - //鍒濆鍖栧湴鍖哄垪琛� - this.InitAreaList(); - }); - - //璁╄繖涓寜閽繖涓尯鍩熶笉鑳界偣鍑昏彍鍗� + listView.Radius = (uint)Application.GetRealHeight(17); + frameBack.AddChidren(listView); + + //璇烽�夋嫨鍖哄彿 + var btnTitle = new NormalViewControl(270, 60, true); + btnTitle.X = ControlCommonResourse.XXLeft; + btnTitle.Y = Application.GetRealHeight(69); + btnTitle.TextID = R.MyInternationalizationString.uPleaseSelectAreaCode; + btnTitle.TextSize = 15; + btnTitle.TextColor = UserCenterColor.Current.TextColor2; + frameBack.AddChidren(btnTitle); + + //鎼滅储 + var btnSearch = new MySearchControl(Language.StringByID(R.MyInternationalizationString.uSearch)); + btnSearch.X = Application.GetRealWidth(334); + btnSearch.Y = Application.GetRealHeight(46); + frameBack.AddChidren(btnSearch); + btnSearch.BindEvent(this.SearchEvent); + + //璁╄繖涓寜閽繖涓尯鍩熶笉鑳界偣鍑昏彍鍗� var frameTemp = new FrameLayout(); frameTemp.Y = Application.GetRealHeight(1146); frameTemp.Height = frameBack.Height - Application.GetRealHeight(1146); - frameBack.AddChidren(frameTemp); - - var btnOk = new BottomClickButton(688); - btnOk.Y = Application.GetRealHeight(1146); - btnOk.TextID = R.MyInternationalizationString.uConfirm1; - frameBack.AddChidren(btnOk); - btnOk.ButtonClickEvent += (sender, e) => - { - if (oldFrameRowControl != null) - { - this.FinishSelectEvent?.Invoke(oldFrameRowControl.MainKeys); - } - this.CloseForm(); - }; - } - - #endregion - - #region 鈻� 鍒濆鍖栧湴鍖哄垪琛╛____________________ - - /// <summary> - /// 鍒濆鍖栧湴鍖哄垪琛� - /// </summary> - private async void InitAreaList() - { - if (listAreaCode == null) - { - //绗竴娆¤幏鍙� - //寮�鍚繘搴︽潯 - ProgressBar.Show(); - - //鑾峰彇鍏ㄩ儴鐨勫湴鍖轰唬鐮佸垪琛� - var Pra = new { Common.CommonPage.RequestVersion }; - string result = await UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetAreaCode", false, Pra); - //鍏抽棴杩涘害鏉� - ProgressBar.Close(); - if (result == null) - { - return; - } - listAreaCode = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AreaCodeInfo>>(result); - for (int i = 0; i < listAreaCode.Count; i++) - { - //鑾峰彇棣栧瓧姣� - listAreaCode[i].First = this.GetCharSpellCode(listAreaCode[i].Name.Substring(0, 1)); - } - //鎺掑簭 - listAreaCode.Sort((obj1, obj2) => - { - return obj1.First.CompareTo(obj2.First); - }); - } - Application.RunOnMainThread(() => - { - //娣诲姞鍏ㄩ儴鏄庣粏琛� - this.AddAllDetailRow(listAreaCode); - }); - } - - /// <summary> - /// 娣诲姞鍏ㄩ儴鏄庣粏琛� - /// </summary> - /// <param name="listData"></param> - private void AddAllDetailRow(List<AreaCodeInfo> listData) - { - listView.RemoveAll(); - string oldFirst = string.Empty; - int realHeight = 0; - for (int i = 0; i < listData.Count; i++) - { - if (oldFirst != listData[i].First) - { - oldFirst = listData[i].First; - //娣诲姞瀛楁瘝鏍囬 - var frame1 = new FrameRowControl(listView.rowSpace / 2); - frame1.UseClickStatu = false; - //鍒楄〃鎺т欢鍙府鎵╁ぇ3锛岃�屽畠鐨勯棿璺濋渶瑕�11 - frame1.Height = Application.GetRealHeight(58 + 8); - frame1.Width = Application.GetRealWidth(850); - listView.AddChidren(frame1); - realHeight += frame1.Height; - - var btnView1 = frame1.AddLeftCaption(listData[i].First, 300); - btnView1.TextColor = UserCenterColor.Current.TextGrayColor2; - if (listData[i].First == "ZZ") - { - //鍏朵粬 - btnView1.TextID = R.MyInternationalizationString.uOther; - } - } - //娣诲姞鏄庣粏琛� - var frameDetail = new FrameRowControl(listView.rowSpace / 2); - frameDetail.MainKeys = listData[i].Code; - frameDetail.UseClickStatu = false; - frameDetail.Width = Application.GetRealWidth(850); - frameDetail.Height = Application.GetRealHeight(118); - listView.AddChidren(frameDetail); - realHeight += frameDetail.Height; - //鍦板尯鍚� - var btnName = frameDetail.AddLeftCaption(listData[i].Name, 600); - btnName.TextColor = UserCenterColor.Current.TextGrayColor3; - //鍦板尯鐮� - var btnCode = frameDetail.AddMostRightView("+" + listData[i].Code, 300); - btnCode.TextColor = UserCenterColor.Current.TextGrayColor3; - frameDetail.ButtonClickEvent += (sender, e) => - { - if (oldFrameRowControl != null) - { - if (oldFrameRowControl.MainKeys == frameDetail.MainKeys) - { - //鍚屼竴涓笢瑗� - return; - } - //鍙栨秷涓婁竴娆$殑閫夋嫨 - oldFrameRowControl.BackgroundColor = UserCenterColor.Current.Transparent; - ((NormalViewControl)oldFrameRowControl.GetChildren(0)).TextColor = UserCenterColor.Current.TextGrayColor3; - ((NormalViewControl)oldFrameRowControl.GetChildren(1)).TextColor = UserCenterColor.Current.TextGrayColor3; - } - - //閫変腑鐘舵�� - frameDetail.BackgroundColor = 0x0ffc744b; - btnName.TextColor = UserCenterColor.Current.TextColor1; - btnCode.TextColor = UserCenterColor.Current.TextColor1; - oldFrameRowControl = frameDetail; - }; - } - - if (realHeight > listView.Height - Application.GetRealHeight(196)) - { - //淇冧娇琚尅浣忕殑鑿滃崟鑳藉鍚戜笂婊戝姩 - var frameTemp = new FrameLayout(); - frameTemp.Height = Application.GetRealHeight(196 + 34);//闂磋窛34 - listView.AddChidren(frameTemp); - } - } - - #endregion - - #region 鈻� 鎼滅储浜嬩欢___________________________ - - /// <summary> - /// 鎼滅储浜嬩欢 - /// </summary> - /// <param name="changdValue"></param> - private void SearchEvent(string changdValue) - { - lock (objLock) - { - //濡傛灉鍙緭鍏ヤ竴浣嶇殑璇�,鍙互鍒ゆ柇棣栧瓧姣� - string first = changdValue.Length == 1 ? changdValue.ToUpper() : string.Empty; - - var listData = new List<AreaCodeInfo>(); - for (int i = 0; i < listAreaCode.Count; i++) - { - //濡傛灉鍙緭鍏ヤ竴浣嶇殑璇�,鍙互鍒ゆ柇棣栧瓧姣� - if (listAreaCode[i].First == first) - { - listData.Add(listAreaCode[i]); - } - //鍒ゆ柇鍚嶅瓧鍜屽湴鍖虹爜 - else if (listAreaCode[i].Code.Contains(changdValue) == true || listAreaCode[i].Name.Contains(changdValue) == true) - { - listData.Add(listAreaCode[i]); - } - } - Application.RunOnMainThread(() => - { - //娣诲姞鍏ㄩ儴鏄庣粏琛� - this.AddAllDetailRow(listData); - }); - } - } - - #endregion - - #region 鈻� 鎼滅储鎺т欢___________________________ - + frameBack.AddChidren(frameTemp); + + var btnOk = new BottomClickButton(688); + btnOk.Y = Application.GetRealHeight(1146); + btnOk.TextID = R.MyInternationalizationString.uConfirm1; + frameBack.AddChidren(btnOk); + btnOk.ButtonClickEvent += (sender, e) => + { + if (oldFrameRowControl != null) + { + this.FinishSelectEvent?.Invoke(oldFrameRowControl.MainKeys); + } + this.CloseForm(); + }; + + HdlThreadLogic.Current.RunThread(() => + { + //鍒濆鍖栧湴鍖哄垪琛� + this.InitAreaList(); + }); + } + + #endregion + + #region 鈻� 鍒濆鍖栧湴鍖哄垪琛╛____________________ + + /// <summary> + /// 鍒濆鍖栧湴鍖哄垪琛� + /// </summary> + private void InitAreaList() + { + if (listAreaCode == null) + { + //绗竴娆¤幏鍙� + //寮�鍚繘搴︽潯 + ProgressBar.Show(); + + //鑾峰彇鍏ㄩ儴鐨勫湴鍖轰唬鐮佸垪琛� + var Pra = new { Common.CommonPage.RequestVersion }; + string result = UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetAreaCode", false, Pra); + //鍏抽棴杩涘害鏉� + ProgressBar.Close(); + if (string.IsNullOrEmpty(result) == true) + { + return; + } + listAreaCode = Newtonsoft.Json.JsonConvert.DeserializeObject<List<AreaCodeInfo>>(result); + for (int i = 0; i < listAreaCode.Count; i++) + { + //鑾峰彇棣栧瓧姣� + listAreaCode[i].First = this.GetCharSpellCode(listAreaCode[i].Name.Substring(0, 1)); + } + //鎺掑簭 + listAreaCode.Sort((obj1, obj2) => + { + return obj1.First.CompareTo(obj2.First); + }); + } + HdlThreadLogic.Current.RunMain(() => + { + //娣诲姞鍏ㄩ儴鏄庣粏琛� + this.AddAllDetailRow(listAreaCode); + }); + } + + /// <summary> + /// 娣诲姞鍏ㄩ儴鏄庣粏琛� + /// </summary> + /// <param name="listData"></param> + private void AddAllDetailRow(List<AreaCodeInfo> listData) + { + listView.RemoveAll(); + string oldFirst = string.Empty; + int realHeight = 0; + for (int i = 0; i < listData.Count; i++) + { + if (oldFirst != listData[i].First) + { + oldFirst = listData[i].First; + //娣诲姞瀛楁瘝鏍囬 + var frame1 = new FrameRowControl(listView.rowSpace / 2); + frame1.UseClickStatu = false; + //鍒楄〃鎺т欢鍙府鎵╁ぇ3锛岃�屽畠鐨勯棿璺濋渶瑕�11 + frame1.Height = Application.GetRealHeight(58 + 8); + frame1.Width = Application.GetRealWidth(850); + listView.AddChidren(frame1); + realHeight += frame1.Height; + + var btnView1 = frame1.AddLeftCaption(listData[i].First, 300); + btnView1.TextColor = UserCenterColor.Current.TextGrayColor2; + if (listData[i].First == "ZZ") + { + //鍏朵粬 + btnView1.TextID = R.MyInternationalizationString.uOther; + } + } + //娣诲姞鏄庣粏琛� + var frameDetail = new FrameRowControl(listView.rowSpace / 2); + frameDetail.MainKeys = listData[i].Code; + frameDetail.UseClickStatu = false; + frameDetail.Width = Application.GetRealWidth(850); + frameDetail.Height = Application.GetRealHeight(118); + listView.AddChidren(frameDetail); + realHeight += frameDetail.Height; + //鍦板尯鍚� + var btnName = frameDetail.AddLeftCaption(listData[i].Name, 600); + btnName.TextColor = UserCenterColor.Current.TextGrayColor3; + //鍦板尯鐮� + var btnCode = frameDetail.AddMostRightView("+" + listData[i].Code, 300); + btnCode.TextColor = UserCenterColor.Current.TextGrayColor3; + frameDetail.ButtonClickEvent += (sender, e) => + { + if (oldFrameRowControl != null) + { + if (oldFrameRowControl.MainKeys == frameDetail.MainKeys) + { + //鍚屼竴涓笢瑗� + return; + } + //鍙栨秷涓婁竴娆$殑閫夋嫨 + oldFrameRowControl.BackgroundColor = UserCenterColor.Current.Transparent; + ((NormalViewControl)oldFrameRowControl.GetChildren(0)).TextColor = UserCenterColor.Current.TextGrayColor3; + ((NormalViewControl)oldFrameRowControl.GetChildren(1)).TextColor = UserCenterColor.Current.TextGrayColor3; + } + + //閫変腑鐘舵�� + frameDetail.BackgroundColor = 0x0ffc744b; + btnName.TextColor = UserCenterColor.Current.TextColor1; + btnCode.TextColor = UserCenterColor.Current.TextColor1; + oldFrameRowControl = frameDetail; + }; + } + + if (realHeight > listView.Height - Application.GetRealHeight(196)) + { + //淇冧娇琚尅浣忕殑鑿滃崟鑳藉鍚戜笂婊戝姩 + var frameTemp = new FrameLayout(); + frameTemp.Height = Application.GetRealHeight(196 + 34);//闂磋窛34 + listView.AddChidren(frameTemp); + } + } + + #endregion + + #region 鈻� 鎼滅储浜嬩欢___________________________ + + /// <summary> + /// 鎼滅储浜嬩欢 + /// </summary> + /// <param name="changdValue"></param> + private void SearchEvent(string changdValue) + { + lock (objLock) + { + //濡傛灉鍙緭鍏ヤ竴浣嶇殑璇�,鍙互鍒ゆ柇棣栧瓧姣� + string first = changdValue.Length == 1 ? changdValue.ToUpper() : string.Empty; + + var listData = new List<AreaCodeInfo>(); + for (int i = 0; i < listAreaCode.Count; i++) + { + //濡傛灉鍙緭鍏ヤ竴浣嶇殑璇�,鍙互鍒ゆ柇棣栧瓧姣� + if (listAreaCode[i].First == first) + { + listData.Add(listAreaCode[i]); + } + //鍒ゆ柇鍚嶅瓧鍜屽湴鍖虹爜 + else if (listAreaCode[i].Code.Contains(changdValue) == true || listAreaCode[i].Name.Contains(changdValue) == true) + { + listData.Add(listAreaCode[i]); + } + } + HdlThreadLogic.Current.RunMain(() => + { + //娣诲姞鍏ㄩ儴鏄庣粏琛� + this.AddAllDetailRow(listData); + }); + } + } + + #endregion + + #region 鈻� 鎼滅储鎺т欢___________________________ + /// <summary> /// 鍒朵綔涓�涓牴鎹敭鍊艰繘琛屾悳绱㈢殑鎺т欢 /// 娣诲姞鎺т欢鍚庯紝璇疯皟鐢↙oadEvent()鍑芥暟杩涜鍥炶皟鍑芥暟鐨勭粦瀹� /// </summary> - public class MySearchControl : FrameLayout - { + public class MySearchControl : FrameLayout + { #region 鈻� 鍙橀噺澹版槑__________________________ - + /// <summary> /// 鎼滅储鎺т欢 /// </summary> - private TextInputControl txtSearch = null; + private TextInputControl txtSearch = null; /// <summary> /// 鍥炶皟鍑芥暟 /// </summary> - private Action<string> actionMethod = null; - /// <summary> - /// 娌℃湁杈撳叆閿�肩殑鏄剧ず鏂囨湰 + private Action<string> actionMethod = null; + /// <summary> + /// 娌℃湁杈撳叆閿�肩殑鏄剧ず鏂囨湰 /// </summary> - private string tipText = string.Empty; - + private string tipText = string.Empty; + #endregion - + #region 鈻� 鍒濆鍖朹___________________________ /// <summary> /// 鍒朵綔涓�涓牴鎹敭鍊艰繘琛屾悳绱㈢殑鎺т欢 /// 娣诲姞鎺т欢鍒扮埗鎺т欢鍚庯紝璇疯皟鐢˙indEvent()鍑芥暟杩涜鍥炶皟鍑芥暟鐨勭粦瀹� /// </summary> /// <param name="i_tipText">娌℃湁杈撳叆閿�肩殑鏄剧ず鏂囨湰</param> - public MySearchControl(string i_tipText) - { - this.tipText = i_tipText; - //妗屽竷鎺т欢 - this.Width = Application.GetRealWidth(458); - this.Height = Application.GetRealHeight(104); - this.Radius = 6; - this.BorderColor = 0xffbfc1c2; - this.BorderWidth = (uint)Application.GetMinRealAverage(3); - } - + public MySearchControl(string i_tipText) + { + this.tipText = i_tipText; + //妗屽竷鎺т欢 + this.Width = Application.GetRealWidth(458); + this.Height = Application.GetRealHeight(104); + this.Radius = (uint)Application.GetRealHeight(17); + this.BorderColor = 0xffbfc1c2; + this.BorderWidth = 1; + } + /// <summary> /// 鎺т欢鍒濆鍖� /// </summary> - private void InitControl() - { - //杈撳叆鏂囨湰 - int textWidth = this.Width - Application.GetRealWidth(35 * 2); - txtSearch = new TextInputControl(textWidth, Application.GetRealHeight(58), false); - txtSearch.X = Application.GetRealWidth(35); - txtSearch.PlaceholderText = this.tipText; - txtSearch.Gravity = Gravity.CenterVertical; - this.AddChidren(txtSearch); - - string oldText = string.Empty; - //鍊兼敼鍙樹簨浠� - txtSearch.TextChangeEventHandler += (sender, e) => - { - this.nextSearchKeys = txtSearch.Text.Trim(); - if (oldText == this.nextSearchKeys) - { - //杈撳叆鐨勫�间竴鏍� - return; - } - oldText = this.nextSearchKeys; - //鍏佽鎵ц鍥炶皟鍑芥暟 - this.isCanSearch = true; - }; - } + private void InitControl() + { + //杈撳叆鏂囨湰 + int textWidth = this.Width - Application.GetRealWidth(35 * 2); + txtSearch = new TextInputControl(textWidth, Application.GetRealHeight(58), false); + txtSearch.X = Application.GetRealWidth(35); + txtSearch.PlaceholderText = this.tipText; + txtSearch.Gravity = Gravity.CenterVertical; + this.AddChidren(txtSearch); + + string oldText = string.Empty; + //鍊兼敼鍙樹簨浠� + txtSearch.TextChangeEventHandler += (sender, e) => + { + this.nextSearchKeys = txtSearch.Text.Trim(); + if (oldText == this.nextSearchKeys) + { + //杈撳叆鐨勫�间竴鏍� + return; + } + oldText = this.nextSearchKeys; + //鍏佽鎵ц鍥炶皟鍑芥暟 + this.isCanSearch = true; + }; + } #endregion - + #region 鈻� 缁戝畾浜嬩欢__________________________ - + /// <summary> /// 缁戝畾浜嬩欢 /// </summary> /// <param name="action">鍥炶皟鍑芥暟锛氬�兼槸杈撳叆鐨勫叧閿瓧</param> - public void BindEvent(Action<string> action) - { - this.actionMethod = action; - - //鎺т欢鍒濆鍖� - this.InitControl(); - - //鎵撳紑鎼滅储閿�肩殑绾跨▼ - this.StartSearchKeysThead(); - } - + public void BindEvent(Action<string> action) + { + this.actionMethod = action; + + //鎺т欢鍒濆鍖� + this.InitControl(); + + //鎵撳紑鎼滅储閿�肩殑绾跨▼ + this.StartSearchKeysThead(); + } + #endregion - + #region 鈻� 寮�鍚嚎绋媉_________________________ - + /// <summary> /// 鑳藉惁鎵ц鎼滅储 /// </summary> - private bool isCanSearch = false; + private bool isCanSearch = false; /// <summary> /// 涓嬩竴涓悳绱㈤敭鍊� /// </summary> - private string nextSearchKeys = string.Empty; + private string nextSearchKeys = string.Empty; /// <summary> /// 鎵撳紑鎼滅储閿�肩殑绾跨▼ /// </summary> - private void StartSearchKeysThead() - { - HdlThreadLogic.Current.RunThread(() => - { - while (this.Parent != null) - { - //鏍规嵁閫昏緫锛屼笉鑳藉鎼滅储鐨勮瘽锛岀瓑寰� - if (this.isCanSearch == false) - { - System.Threading.Thread.Sleep(1000); - continue; - } - //鑾峰彇褰撳墠鐬棿鐨勯敭鍊� - string nowSearchKeys = nextSearchKeys; - - //鏍规嵁鎼滅储閿�硷紝璋冪敤鍥炶皟鍑芥暟 - this.actionMethod(nowSearchKeys); - - //澶勭悊瀹屾瘯鍚庯紝濡傛灉褰撳墠鐨勬绱㈤敭鍊间笌涓嬩竴涓绱㈤敭鍊间竴鏍风殑璇� - //璇存槑鐢ㄦ埛宸茬粡涓嶅啀杈撳叆閿�间簡锛岃繖涓椂鍊欙紝鍋滄鎼滅储 - if (nowSearchKeys == nextSearchKeys) - { - this.isCanSearch = false; - } - - //濡傛灉褰撳墠鐨勬绱㈤敭鍊间笌涓嬩竴涓绱㈤敭鍊间笉涓�鏍风殑璇� - //閭e氨璇存槑锛岀敤鎴峰啀娆¤緭鍏ヤ簡閿�硷紝杩欎釜鏃跺�欙紝璁╃嚎绋嬬户缁窇涓嬪幓 - } - }); - } + private void StartSearchKeysThead() + { + HdlThreadLogic.Current.RunThread(() => + { + while (this.Parent != null) + { + //鏍规嵁閫昏緫锛屼笉鑳藉鎼滅储鐨勮瘽锛岀瓑寰� + if (this.isCanSearch == false) + { + System.Threading.Thread.Sleep(1000); + continue; + } + //鑾峰彇褰撳墠鐬棿鐨勯敭鍊� + string nowSearchKeys = nextSearchKeys; + + //鏍规嵁鎼滅储閿�硷紝璋冪敤鍥炶皟鍑芥暟 + this.actionMethod(nowSearchKeys); + + //澶勭悊瀹屾瘯鍚庯紝濡傛灉褰撳墠鐨勬绱㈤敭鍊间笌涓嬩竴涓绱㈤敭鍊间竴鏍风殑璇� + //璇存槑鐢ㄦ埛宸茬粡涓嶅啀杈撳叆閿�间簡锛岃繖涓椂鍊欙紝鍋滄鎼滅储 + if (nowSearchKeys == nextSearchKeys) + { + this.isCanSearch = false; + } + + //濡傛灉褰撳墠鐨勬绱㈤敭鍊间笌涓嬩竴涓绱㈤敭鍊间笉涓�鏍风殑璇� + //閭e氨璇存槑锛岀敤鎴峰啀娆¤緭鍏ヤ簡閿�硷紝杩欎釜鏃跺�欙紝璁╃嚎绋嬬户缁窇涓嬪幓 + } + }); + } #endregion - + #region 鈻� 鎺т欢鎽ф瘉__________________________ - - /// <summary> - /// 鎺т欢鎽ф瘉 + + /// <summary> + /// 鎺т欢鎽ф瘉 /// </summary> - public override void RemoveFromParent() - { - actionMethod = null; - base.RemoveFromParent(); - } - + public override void RemoveFromParent() + { + actionMethod = null; + base.RemoveFromParent(); + } + #endregion - } - - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - /// <summary> - /// 鑾峰彇姹夊瓧棣栧瓧姣� - /// </summary> - /// <param name="textValue"></param> - /// <returns></returns> - private string GetCharSpellCode(string textValue) - { - long iCnChar; - - byte[] ZW = Encoding.GetEncoding("gb2312").GetBytes(textValue); - - //濡傛灉鏄瓧姣嶏紝鍒欑洿鎺ヨ繑鍥� - if (ZW.Length == 1) - { - return textValue.ToUpper(); - } - else - { - // get the array of byte from the single char - int i1 = (short)(ZW[0]); - int i2 = (short)(ZW[1]); - iCnChar = i1 * 256 + i2; - } - - //expresstion - //table of the constant list - // 'A'; //45217..45252 - // 'B'; //45253..45760 - // 'C'; //45761..46317 - // 'D'; //46318..46825 - // 'E'; //46826..47009 - // 'F'; //47010..47296 - // 'G'; //47297..47613 - - // 'H'; //47614..48118 - // 'J'; //48119..49061 - // 'K'; //49062..49323 - // 'L'; //49324..49895 - // 'M'; //49896..50370 - // 'N'; //50371..50613 - // 'O'; //50614..50621 - // 'P'; //50622..50905 - // 'Q'; //50906..51386 - - // 'R'; //51387..51445 - // 'S'; //51446..52217 - // 'T'; //52218..52697 - //娌℃湁U,V - // 'W'; //52698..52979 - // 'X'; //52980..53640 - // 'Y'; //53689..54480 - // 'Z'; //54481..55289 - - // iCnChar match the constant - if ((iCnChar >= 45217) && (iCnChar <= 45252)) - { - return "A"; - } - else if ((iCnChar >= 45253) && (iCnChar <= 45760)) - { - return "B"; - } - else if ((iCnChar >= 45761) && (iCnChar <= 46317)) - { - return "C"; - } - else if ((iCnChar >= 46318) && (iCnChar <= 46825)) - { - return "D"; - } - else if ((iCnChar >= 46826) && (iCnChar <= 47009)) - { - return "E"; - } - else if ((iCnChar >= 47010) && (iCnChar <= 47296)) - { - return "F"; - } - else if ((iCnChar >= 47297) && (iCnChar <= 47613)) - { - return "G"; - } - else if ((iCnChar >= 47614) && (iCnChar <= 48118)) - { - return "H"; - } - else if ((iCnChar >= 48119) && (iCnChar <= 49061)) - { - return "J"; - } - else if ((iCnChar >= 49062) && (iCnChar <= 49323)) - { - return "K"; - } - else if ((iCnChar >= 49324) && (iCnChar <= 49895)) - { - return "L"; - } - else if ((iCnChar >= 49896) && (iCnChar <= 50370)) - { - return "M"; - } - - else if ((iCnChar >= 50371) && (iCnChar <= 50613)) - { - return "N"; - } - else if ((iCnChar >= 50614) && (iCnChar <= 50621)) - { - return "O"; - } - else if ((iCnChar >= 50622) && (iCnChar <= 50905)) - { - return "P"; - } - else if ((iCnChar >= 50906) && (iCnChar <= 51386)) - { - return "Q"; - } - else if ((iCnChar >= 51387) && (iCnChar <= 51445)) - { - return "R"; - } - else if ((iCnChar >= 51446) && (iCnChar <= 52217)) - { - return "S"; - } - else if ((iCnChar >= 52218) && (iCnChar <= 52697)) - { - return "T"; - } - else if ((iCnChar >= 52698) && (iCnChar <= 52979)) - { - return "W"; - } - else if ((iCnChar >= 52980) && (iCnChar <= 53640)) - { - return "X"; - } - else if ((iCnChar >= 53689) && (iCnChar <= 54480)) - { - return "Y"; - } - else if ((iCnChar >= 54481) && (iCnChar <= 55289)) - { - return "Z"; - } - else return ("ZZ"); - } - - #endregion - - #region 鈻� 缁撴瀯浣揰____________________________ - - /// <summary> - /// 鍦板尯鐮� - /// </summary> - private class AreaCodeInfo - { - /// <summary> - /// 棣栧瓧姣� - /// </summary> - public string First = string.Empty; - /// <summary> - /// 鍚嶅瓧 - /// </summary> - public string Name = string.Empty; - /// <summary> - /// 鍦板尯鐮� - /// </summary> - public string Code = string.Empty; - /// <summary> - /// Id - /// </summary> - public string Id = string.Empty; - } - - #endregion - } -} + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鑾峰彇姹夊瓧棣栧瓧姣� + /// </summary> + /// <param name="textValue"></param> + /// <returns></returns> + private string GetCharSpellCode(string textValue) + { + long iCnChar; + + byte[] ZW = Encoding.GetEncoding("gb2312").GetBytes(textValue); + + //濡傛灉鏄瓧姣嶏紝鍒欑洿鎺ヨ繑鍥� + if (ZW.Length == 1) + { + return textValue.ToUpper(); + } + else + { + // get the array of byte from the single char + int i1 = (short)(ZW[0]); + int i2 = (short)(ZW[1]); + iCnChar = i1 * 256 + i2; + } + + //expresstion + //table of the constant list + // 'A'; //45217..45252 + // 'B'; //45253..45760 + // 'C'; //45761..46317 + // 'D'; //46318..46825 + // 'E'; //46826..47009 + // 'F'; //47010..47296 + // 'G'; //47297..47613 + + // 'H'; //47614..48118 + // 'J'; //48119..49061 + // 'K'; //49062..49323 + // 'L'; //49324..49895 + // 'M'; //49896..50370 + // 'N'; //50371..50613 + // 'O'; //50614..50621 + // 'P'; //50622..50905 + // 'Q'; //50906..51386 + + // 'R'; //51387..51445 + // 'S'; //51446..52217 + // 'T'; //52218..52697 + //娌℃湁U,V + // 'W'; //52698..52979 + // 'X'; //52980..53640 + // 'Y'; //53689..54480 + // 'Z'; //54481..55289 + + // iCnChar match the constant + if ((iCnChar >= 45217) && (iCnChar <= 45252)) + { + return "A"; + } + else if ((iCnChar >= 45253) && (iCnChar <= 45760)) + { + return "B"; + } + else if ((iCnChar >= 45761) && (iCnChar <= 46317)) + { + return "C"; + } + else if ((iCnChar >= 46318) && (iCnChar <= 46825)) + { + return "D"; + } + else if ((iCnChar >= 46826) && (iCnChar <= 47009)) + { + return "E"; + } + else if ((iCnChar >= 47010) && (iCnChar <= 47296)) + { + return "F"; + } + else if ((iCnChar >= 47297) && (iCnChar <= 47613)) + { + return "G"; + } + else if ((iCnChar >= 47614) && (iCnChar <= 48118)) + { + return "H"; + } + else if ((iCnChar >= 48119) && (iCnChar <= 49061)) + { + return "J"; + } + else if ((iCnChar >= 49062) && (iCnChar <= 49323)) + { + return "K"; + } + else if ((iCnChar >= 49324) && (iCnChar <= 49895)) + { + return "L"; + } + else if ((iCnChar >= 49896) && (iCnChar <= 50370)) + { + return "M"; + } + + else if ((iCnChar >= 50371) && (iCnChar <= 50613)) + { + return "N"; + } + else if ((iCnChar >= 50614) && (iCnChar <= 50621)) + { + return "O"; + } + else if ((iCnChar >= 50622) && (iCnChar <= 50905)) + { + return "P"; + } + else if ((iCnChar >= 50906) && (iCnChar <= 51386)) + { + return "Q"; + } + else if ((iCnChar >= 51387) && (iCnChar <= 51445)) + { + return "R"; + } + else if ((iCnChar >= 51446) && (iCnChar <= 52217)) + { + return "S"; + } + else if ((iCnChar >= 52218) && (iCnChar <= 52697)) + { + return "T"; + } + else if ((iCnChar >= 52698) && (iCnChar <= 52979)) + { + return "W"; + } + else if ((iCnChar >= 52980) && (iCnChar <= 53640)) + { + return "X"; + } + else if ((iCnChar >= 53689) && (iCnChar <= 54480)) + { + return "Y"; + } + else if ((iCnChar >= 54481) && (iCnChar <= 55289)) + { + return "Z"; + } + else return ("ZZ"); + } + + #endregion + + #region 鈻� 缁撴瀯浣揰____________________________ + + /// <summary> + /// 鍦板尯鐮� + /// </summary> + private class AreaCodeInfo + { + /// <summary> + /// 棣栧瓧姣� + /// </summary> + public string First = string.Empty; + /// <summary> + /// 鍚嶅瓧 + /// </summary> + public string Name = string.Empty; + /// <summary> + /// 鍦板尯鐮� + /// </summary> + public string Code = string.Empty; + /// <summary> + /// Id + /// </summary> + public string Id = string.Empty; + } + + #endregion + } +} -- Gitblit v1.8.0