Example #1
0
        private void lvApp_ColumnReordered(object sender, ColumnReorderedEventArgs e)
        {
            // if locked listview
            if (ListViewUtil.IsLockedUpdate(lvApp))
            {
                return;
            }

            List <int> IndexOrderList = new List <int>();

            if (e.OldDisplayIndex < e.NewDisplayIndex)
            {
                for (int i = 0; i < e.OldDisplayIndex; i++)
                {
                    IndexOrderList.Add(ListViewUtil.GetIndexByDisplayIndex(lvApp, i));
                }

                for (int i = e.OldDisplayIndex + 1; i <= e.NewDisplayIndex; i++)
                {
                    IndexOrderList.Add(ListViewUtil.GetIndexByDisplayIndex(lvApp, i));
                }

                IndexOrderList.Add(e.Header.Index);

                for (int i = e.NewDisplayIndex + 1; i < lvApp.Columns.Count; i++)
                {
                    IndexOrderList.Add(ListViewUtil.GetIndexByDisplayIndex(lvApp, i));
                }
            }
            else if (e.OldDisplayIndex > e.NewDisplayIndex)
            {
                for (int i = 0; i < e.NewDisplayIndex; i++)
                {
                    IndexOrderList.Add(ListViewUtil.GetIndexByDisplayIndex(lvApp, i));
                }

                IndexOrderList.Add(e.Header.Index);

                for (int i = e.NewDisplayIndex; i < e.OldDisplayIndex; i++)
                {
                    IndexOrderList.Add(ListViewUtil.GetIndexByDisplayIndex(lvApp, i));
                }

                for (int i = e.OldDisplayIndex + 1; i < lvApp.Columns.Count; i++)
                {
                    IndexOrderList.Add(ListViewUtil.GetIndexByDisplayIndex(lvApp, i));
                }
            }

            for (int i = 0; i < IndexOrderList.Count; i++)
            {
                iniSettings.Write(
                    lvApp.Columns[IndexOrderList[i]].Text.Replace(" ", "").Replace("∧", "").Replace("∨", ""),
                    i.ToString(),
                    "ColumnHeaderDisplayIndex");
            }
        }
Example #2
0
        private void mnuCopy_Click(object sender, EventArgs e)
        {
            if (lvApp.SelectedItems.Count < 1)
            {
                return;
            }

            string EofString   = lvApp.SelectedItems.Count > 1 ? "\r\n" : "";
            int    LoopCount   = 0;
            string strCopyData = "";

            foreach (ListViewItem lviTemp in lvApp.SelectedItems)
            {
                for (int DisplayIndex = 0; DisplayIndex < lvApp.Columns.Count; DisplayIndex++)
                {
                    int RealIndex = ListViewUtil.GetIndexByDisplayIndex(lvApp, DisplayIndex);
                    if (RealIndex < 0)
                    {
                        continue;
                    }

                    strCopyData += lviTemp.SubItems[RealIndex].Text +
                                   (DisplayIndex == lvApp.Columns.Count - 1 ?
                                    (LoopCount++ == lvApp.SelectedItems.Count - 1 ? "" : EofString) :
                                    ",\t");
                }
            }

            try
            {
                Clipboard.Clear();
                Clipboard.SetText(strCopyData);

                lblState.Text = "Completed to copy.";
            }
            catch
            {
                lblState.Text = "Failed to copy.";
            }
        }