例子:
现在有两个窗口form1和form2,现在form2中有个listbox。双击listbox的值以后,将选中的值传给form1中的textbox控件
[csharp]
form1中的textbox1的modifilers设为Public,  
   private void button1_Click(object sender, EventArgs e)  
      {   
[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
   Form2 f2 = new Form2();  
    f2.ShowDialog(this);          
}    
  
:  
 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)  
  {  
      Form1 f1 = (Form1)this.Owner;  
      f1.textBox1.Text = listBox1.SelectedItem.ToString();  
  }  

解决方案 »

  1.   

    或form1中:  public static Form1 f = null;
            public string s;
            public Form1()
            {
                InitializeComponent();
                f = this;
                s = "aaa";
            }        private void button1_Click(object sender, EventArgs e)
            {
                Form2 f2 = new Form2();
                f2.Show();     
               
            }form2中:   private void Form2_Load(object sender, EventArgs e)
            {
                listView1.Items.Add(Form1.f.s);
                
            }
      

  2.   

    比如  listView1.Items.Add(Form1.f.s);这句,我的也可以在Form2_load事件中实现,但是为什么不能在我自己写的一个方法中实现呢。我自己的写的方法中的 MessageBox.Show("ddd") 都运行出来了,而listView1.Items.Add("0");这一句却没有实现。我知道他可以在Form2_load事件中实现。
      

  3.   

      
    private void Form2_Load(object sender, EventArgs e)
            {
                xz();
            }
            public  void xz()
            {
                listView1.Items.Add(Form1.f.s);
                MessageBox.Show("ddd");
            }
      

  4.   

    参考:http://bbs.csdn.net/topics/360140208
      

  5.   

     private void button1_Click(object sender, EventArgs e)
             {
                 Form1 f = new Form1();
                 f.xz();
                 f.Show();
             }------------------------public  void xz()
             {
                 listView1.Items.Add("0");
            }
         } 
      

  6.   

    listView1.Items.Add("0");这句不执行,他在xz()这个方法里就是不执行,放到时间load activited 等事件中就执行了。
      

  7.   

    public  void xz()
             {
                 listView1.Items.Add(Form1.f.s);
                 MessageBox.Show("ddd");
             } 执行了MessageBox.Show("ddd"); 却没有执行listView1.Items.Add(Form1.f.s)是不可能的
      

  8.   

    语句肯定是执行了,但是不显示出来,Listview 上没有显示那一行,放到其他地方,却会显示。