1. private void detailToolStripMenuItem_Click(object sender, EventArgs e)  
  2.         {  
  3.             try 
  4.             {  
  5.                 if (this.listViewData.SelectedIndices.Count == 0)//无选中信息  
  6.                     return;  
  7.                 int n = listViewData.SelectedItems[0].Index;//获取当前listView选取的行  
  8.                 TestDataDetail detail = new TestDataDetail(n);  
  9.                 ConfigContent select = new ConfigContent();  
  10.                 select = MainForm.configList[n];  
  11.                 byte cmd = Convert.ToByte(select.cmd, 16);  
  12.                 if (select.cycle_num == 1 || cmd == 0x32 || n >= configList.Count)  
  13.                 {  
  14.                     MessageBox.Show("该测试项无详情!""TestPlatform", MessageBoxButtons.OK, MessageBoxIcon.Information);  
  15.                 }  
  16.                 else 
  17.                 {  
  18.                     detail.Show();  
  19.                 }  
  20.             }  
  21.             catch (Exception ex)  
  22.             {  
  23.                 MessageBox.Show(ex.Message);  
  24.             }  
  25.         } 

if (this.listViewData.SelectedIndices.Count == 0) 这句话用来判断是否有选中信息,没有则返回。

右键菜单是添加了一个contextMenuStrip控件,添加右键菜单信息。

 

  1. private void ListViewShowInit()  
  2.        {  
  3.            listViewData.Items.Clear();  
  4.            listViewData.View = View.Details;  
  5.            listViewData.ContextMenuStrip = contextMenuStripDetail;//右键  
  6.            for (int i = 0; i < configList.Count; i++)  
  7.            {  
  8.                ListViewItem lv = new ListViewItem(configList[i].desc);  
  9.                lv.SubItems.Add(configList[i].max);  
  10.                lv.SubItems.Add(configList[i].min);  
  11.                lv.SubItems.Add(configList[i].cycle_num.ToString());  
  12.                this.listViewData.Items.Add(lv);  
  13.            }  
  14.        } 

初始化时 listViewData.ContextMenuStrip = contextMenuStripDetail