有两个窗体,F1,F2.listview是F2里的,F1里有一个toolstrip工具栏,我想把listview里的内容传到toolstrip工具栏里,请问怎么实现啊?

解决方案 »

  1.   

    办法一:通过公用类的public static变量传递。
      

  2.   

    参考一下吧http://topic.csdn.net/u/20080731/12/be76edc9-6d42-4754-b8d6-aec00df6015b.html
      

  3.   

    1楼你说的我知道,试来着,但是没传过去.listview里有1,2,3三项,toolstrip工具栏里有button1,button2,button3.怎么把1,2,3传给button1...?
      

  4.   

    ToolStrip tool=(ToolStrip)  Application.OpenForms["form1"].Controls["toolstrip1"];
    if(tool!=null)
     .......
      

  5.   

    在fomr2里面定义个
    private Fomr1 ff;
    public Form1 f
    {
    get{return ff}
    set{ff = value};
    }
    如果form1打开form2的时候
    form2.f = this;
    这样在Form2就可以对Form1进行操作了
      

  6.   

    不对呀,我的button和listview是一个窗体里的.
      

  7.   

    你给的那个论坛的内容我都看了,他的问题和我的好象不太一样吧?我的f1窗口里就一个工具栏,上面有几个button(工具栏上的button);f2里有一个listview和一个button控件,我想点一下f2里button,f1里工具栏的button就显示listview里的文字或图片.
      

  8.   


        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }        private Form1 fm;
            public Form2(Form1 fm)
            {
                InitializeComponent();
                this.fm = fm;
            }
            private void button1_Click(object sender, EventArgs e)
            {
                fm.toolStrip1.Items[0].Text = "test";
            }
        }
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 fm = new Form2(this);
                fm.Show();
            }
        }
      

  9.   

    f1里的button1是自己设置的button控件,还是工具栏里的button?
      

  10.   

    你要把toolStrip1的可见度设为public
      

  11.   

    图片传不上啊?文字可以,button和listview都是TEXT,可是图片怎么办?listview的是stateimageindex,而button的是image的啊.类型不匹配
      

  12.   

    我总结了大家说的,文字是传上去了,可是图片类型不匹配,传不上啊.listview的是stateimageindex,而button的是image的,这可怎么办?
      

  13.   

    image=this.imagelist1[index];//找到listview所在的 imagelist的index
    button.image=image;
      

  14.   

    为什么我在写的时候imagelist下没有index呢?但是有indexer
      

  15.   

    这个方法我都试过了 好象是因为imagelist1的关系
      

  16.   

    得,我还是写全一点把.
    Image im =this.imageList1.Images[this.listView.SelectItems[0].ImageIndex];
    ToolStrip tool=(ToolStrip)  Application.OpenForms["form1"].Controls["toolStrip1"]; 
    if(tool!=null) 
       tool.Items[0].Image=im;
      

  17.   

    呜呜......还是不对.总说确保方法的参数具有有效值
    Image im =this.imageList1.Images[this.listView.SelectItems[0].ImageIndex];就是这句
      

  18.   

    我已经做出来了,就是在主窗体里也要有一个IMAGELIST,跟第二个窗体是一样的.这样就好使了.