private void timer2_Tick(object sender, EventArgs e)
        {
            int oldWorkingSet = 0;
            int oldTimePercent = 0;
            int newTimePercent = 0;
            int lvProcessCount = listView1.Items.Count;
            TimeSpan ts = (TimeSpan)(DateTime.Now - lastSysTime);
            double sysTimeSpan = ts.TotalMilliseconds;
            Hashtable htProcess = new Hashtable();
            Process[] process = Process.GetProcesses();            foreach (Process p in process)
            {
                int s = p.TotalProcessorTime.Milliseconds;
                    htProcess.Add(p.Id.ToString(), p.Id);
                    ListViewItem item = lvProcessCount > 0 ? listView1.FindItemWithText(p.Id.ToString(), false, 0, false) : null;
                    if (item != null)
                    {
                        double processorTimeSpan = (double)Math.Abs(p.TotalProcessorTime.TotalMilliseconds - (double)item.Tag);
                        if (sysTimeSpan != 0)
                        {
                            processorTimeSpan = processorTimeSpan / sysTimeSpan;
                            newTimePercent = (int)(processorTimeSpan * 100 / Environment.ProcessorCount);
                            if (newTimePercent == 100)
                            {
                                newTimePercent = 99;
                            }
                        }
                        else
                        {
                            newTimePercent = 0;
                        }                        oldTimePercent = int.Parse(item.SubItems[2].Text);                        if (newTimePercent != oldTimePercent)
                        {
                            item.SubItems[2].Text = string.Format("{0:00}", newTimePercent);
                        }
                        oldWorkingSet = int.Parse(item.SubItems[3].Text);
                        if (p.WorkingSet != oldWorkingSet)
                        {
                            item.SubItems[3].Text = p.WorkingSet.ToString();
                        }
                        item.Tag = p.TotalProcessorTime.Milliseconds;
                    }
                    else
                    {
                        item = new ListViewItem(p.Id.ToString());
                        item.SubItems.Add(p.ProcessName);
                        item.SubItems.Add(string.Format("{0:00}", 0));
                        item.SubItems.Add(p.WorkingSet.ToString());
                        item.Tag = p.TotalProcessorTime.Milliseconds;
                        listView1.Items.Add(item);
                    }
                    lastSysTime = DateTime.Now;
                
                
                
            }
            
        }
item.Tag = p.TotalProcessorTime.Milliseconds;到了这一步的时候就拒绝访问了,请问是为什么,如何处理?