private void SaveData()
        {
            StringBuilder           sb    = new StringBuilder();
            ThreadListItemColorRing tlicr = new ThreadListItemColorRing();

            foreach (ListViewItem item in listView1.Items)
            {
                string[] data = { item.SubItems[1].Text, item.SubItems[2].Text, item.SubItems[3].Text };
                sb.Append(data[0]);
                sb.Append(":");
                sb.Append(data[1]);
                sb.Append("&");
                sb.Append(data[2] + "\r\n");
            }
            tlicr.Write(sb.ToString());

            ThreadColumn tc = new ThreadColumn();
            int          i  = 0;

            List <KeyValuePair <string, int> > disList    = new List <KeyValuePair <string, int> >();
            List <KeyValuePair <string, int> > nonDisList = new List <KeyValuePair <string, int> >();

            foreach (var item in this.displayColumnListBox.Items)
            {
                disList.Add(new KeyValuePair <string, int>(item.ToString(), (((List <KeyValuePair <string, int> >)(this.displayColumnListBox.Tag))[i].Value)));
            }
            foreach (var item in this.notDisplayColumnListBox.Items)
            {
                nonDisList.Add(new KeyValuePair <string, int>(item.ToString(), (((List <KeyValuePair <string, int> >)(this.displayColumnListBox.Tag))[i].Value)));
            }
            tc.SaveSettingData(new List <KeyValuePair <string, int> >[] { disList, nonDisList });
        }
        private void LoadData()
        {
            ThreadListItemColorRing tlicr = new ThreadListItemColorRing();
            string data             = tlicr.Read();
            NameValueCollection nvc = tlicr.ConvertValueCollectionFromText(data);
            int i = 1;

            foreach (string item in nvc)
            {
                string[] sdata = nvc.GetValues(item);
                foreach (string m in sdata)
                {
                    if (String.IsNullOrEmpty(m))
                    {
                        break;
                    }
                    string[] msp = ((i++).ToString() + "&" + item + "&" + m).Split('&');

                    ListViewItem lvi = new ListViewItem(msp);
                    listView1.Items.Add(lvi);
                }
            }

            ThreadColumn tc = new ThreadColumn();

            tc.ReadColumnData(ThreadColumn.ColumnDataPath);
            var columnData = tc.ConvertToSettingData();

            foreach (var item in columnData[0])
            {
                this.displayColumnListBox.Items.Add(ThreadColumn.ExchangeKeyOrDisplayValue(item.Key, true));
            }
            this.displayColumnListBox.Tag = columnData[0];
            foreach (var item in columnData[1])
            {
                this.notDisplayColumnListBox.Items.Add(ThreadColumn.ExchangeKeyOrDisplayValue(item.Key, true));
            }
            this.notDisplayColumnListBox.Tag = columnData[1];
        }