using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using System.Collections;
//注意：必须调用该命名空间，否则无法建立ArrayList对象。
namespace WindowsApplication1
{
    public partial class Form4 : Form
    {
        //Form4窗体的私有变量listData1，用来保存listBox1下拉列表中的数据
        private ArrayList listData1;
        //Form4窗体的公共属性。该属性可以被外部所访问，访问的内容就是Form4窗体的私有变量listData1的内容。
        //这里我们采用属性，感觉语法更灵活，清楚。
        public ArrayList ListData2
        {
            get { return this.listData1; }
        }

        //配置Form4构造函数，目的是填充listBox1中的具体数据内容
        public Form4()
        {
            InitializeComponent();
            this.listData1 = new ArrayList();
            this.listData1.Add("DotNet");
            this.listData1.Add("C#");
            this.listData1.Add("Asp.net");
            this.listData1.Add("WebService");
            this.listData1.Add("XML");
            this.listBox1.DataSource = this.listData1;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form5 formChild = new Form5();//实例化另外一个窗体Form5
            formChild.Owner = this;
            //我们设置了formChild.Owner为this，这样，子窗体和主窗体就有联系了，
            formChild.ShowDialog();//打开子窗体
            //当然上面两句也可以该成为：formChild.ShowDialog(this);
            this.listBox1.DataSource = null;
            this.listBox1.DataSource = this.listData1;
            this.Hide();
            this.Close();
        }
    }
}