可以考虑在listview的keydown事件里面做
判断当前选中的项,弹出对应的窗体

解决方案 »

  1.   

    private void button1_Click(object sender, System.EventArgs e)
    {
    this.listView1.Clear();
    for (int i =0; i < 3; i++) 
    {
    this.listView1.Items.Add("item: " + i.ToString());
    }
    } private void listView1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    if (this.listView1.SelectedItems.Count >0 ) 
    {
    //show message box here:
    MessageBox.Show(this.listView1.SelectedItems[0].ToString());
    }
    }
      

  2.   

    用这个,我在VS.NET 2002里面试验过了
    protected void listView1_MouseDown(object sender,System.Windows.Forms.MouseEventArgs e)
    {
         ListViewItem ListIT = this.listView1.GetItemAt(e.X,e.Y);
         if(ListIT != null)
         {
    if(e.Button == MouseButtons.Left && e.Clicks == 2)
    {
                  MessageBox.Show(ListIT.SubItems[0].Text);
    }
         }
    }在InitializeComponent()里面加上一句
    this.listView1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.listView1_MouseDown);
    建议加到listView1那一组里面,这样你以后看代码的时候也方便如果不行,你再说说,看看还有什么地方不对,我这里是可以运行的