我有一个Form1窗体,Form1上有一个ListBox控件,我想实现的功能是每一次双击ListBox上的某个item的时候能够弹出窗体Form2(Form2上有一个picturebox控件),Form2上的picturebox能够每次根据Form1的ListBox上item从数据库中读取图片。请问该如何实现?讲讲思路,如果能够给个Demo就更好了

解决方案 »

  1.   

    应该不难吧,selectindex得到item参数,然后form2(selectindex),将参数传递过去,然后查找数据库,显示~
      

  2.   

    将记录ListBox上的某个item的变量Str放在标准模块中定义成全局变量。
      

  3.   


    “放在标准模块中定义成全局变量”?这可真是一个天大的bug啊。
      

  4.   

    唉,我这一回帖子就沉了……Sorry!
      

  5.   

    类似于2楼,既然是主导者form1创建了form2,此时又希望form1把自己的listbox的值传递非form2,那么在form2中直接设计接口就可以了。例如:public partial class Form2 : Form
    {
      public string listbox选择
      {
        set
        {
            this.image1.Source=(BitmapSource)GetImage(value);
        }
      }
    .....
    }那么form1创建了form2对象之后,再调用form2的那个方法就可以了。
      

  6.   

    这个比较简单
    1、ListBox注册DoubleClick事件
    2、获取被选中的项或项的索引,分别对应ListBox的SelectedIndex属性和SelectedItem属性,建议用SelectedItem属性,得到的是object对像,强制转换成自己的类别
    3、增加一个Form2带参构造函数(参数为2中选中的类别)
    4、下面相信你应该会了。
      

  7.   

    forms间传值
    private void listBox1_DoubleClick(object sender, System.EventArgs e)
    {
        String s= listBox1.SelectedItem.ToString();
    }
    public partial class Form1 : Form 
        { 
            private void button1_Click(object sender, EventArgs e) 
            { 
                Form2 frm2 = new Form2(); 
                frm2.Show(this); 
            } 
        }     public partial class Form2 : Form 
        { 
            private void button1_Click(object sender, EventArgs e) 
            { 
                Form1 frm1 = (Form1)this.Owner; 
                ((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text; 
                this.Close(); 
            } 
        }