我原本是在他的双击事件中写这样的代码
CustomEdit.customDetail CustomAdd = new CustomEdit.customDetail();
CustomAdd.Show();
发现弹不出窗体
现在想实现这个功能,并且传递this.lv.SelectedItems[0].SubItems[0].Text的值到新窗体中
我该怎么写代码?麻烦知道的人告诉我一下,先在这里谢谢了

解决方案 »

  1.   

    找到item的click事件 把窗体new出来 然后showdialog(this)
      

  2.   

    搂主在这个窗体类CustomEdit.customDetail中,添加一个属性,用来接收传入的值即可:
    假如属性为:SubItemsText然后这样显示该窗口:
    if(this.lv.SelectedItems<=0)
         return;
    CustomEdit.customDetail CustomAdd = new CustomEdit.customDetail(); 
    CustomAdd.SubItemsText = this.lv.SelectedItems[0].Text;
    CustomAdd.ShowDialog(); 上面代码中SubItemsText属性就是你自己在CustomEdit.customDetail类中添加的
      

  3.   

    嗯,那我再写下这个属性在CustomEdit.customDetail类中的定义吧:public class customDetail : Form
    {
        //窗体中如果想访问传入的值,就访问这个变量
        private string m_szSubItemsText = string.Empty;
        
        public string SubItemsText
        {
             get{return this.m_szSubItemsText;}
             set{this.m_szSubItemsText = value;}
        }    .....下面是该窗体中,你的其他代码
    }注意上面的属性名字SubItemsText,可以根据你自己的需要取个有意义的名字就可以了然后调用的地方:CustomAdd.SubItemsText = this.lv.SelectedItems[0].Text; 
    也要改过来。
      

  4.   

    设置JS事件,Page.regsiterClientScript...
      

  5.   

    有啊,你在ListView所在的窗体中添加个应用程序级的静态变量,这样谁都可以访问了:
    public static string CurrSelectItemText = string.Empty;然后这个变量你可以随处赋值,随处使用:假如这个窗体是Form1,那么可以这样访问CurrSelectItemText变量:
    赋值:Form1.CurrSelectItemText = 多少;
    访问:什么 = Form1.CurrSelectItemText;这样也是很方便的不过单就搂主这个需求,个人不推荐这么做。