先看一下在console Application中的程序
using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication10
{
    enum TeacherList
    {
        李春雨,
        董娟,
        刘爱琴,
        体育老师,
        马国富,
        李阳,
        曹利培,
        孙伟,
        现代科学技术概论老师
    }
    enum CourseList
    {
        微机原理,
        大学英语,
        摩托罗拉单片机,
        体育,
        数据结构,
        操作系统原理及应用,
        Photoshop和flash制作,
        数据库原理,
        现代科学技术概论    }
    class Unit
    {
        private string teacherName;
        private string courseName;
        private bool flag=false;
        public Unit(TeacherList teacherName, CourseList courseName)
        {
            this.teacherName = teacherName.ToString();
            this.courseName = courseName.ToString();
        }
        public string Teacher
        {
            get
            {
                return teacherName;
            }
        }
        public string Course
        {
            get
            {
                return courseName;
            }
        }
        public bool pubFlag
        {
            get
            {
                return flag;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Unit[] myUnit=new Unit[15];
            myUnit[0] = new Unit(TeacherList.李春雨,CourseList.微机原理);
            myUnit[1] = new Unit(TeacherList.董娟,CourseList.大学英语);
            myUnit[2] = new Unit(TeacherList.刘爱琴,CourseList.摩托罗拉单片机);
            myUnit[3] = new Unit(TeacherList .体育老师,CourseList .体育);
            myUnit[4] = new Unit(TeacherList.马国富,CourseList.数据结构);
            myUnit[5] = new Unit(TeacherList.李阳,CourseList.操作系统原理及应用);
            myUnit[6] = new Unit(TeacherList.曹利培 ,CourseList.Photoshop和flash制作);
            myUnit[7] = new Unit(TeacherList.孙伟,CourseList.数据库原理);
            myUnit[8] = new Unit(TeacherList.现代科学技术概论老师,CourseList.现代科学技术概论);
            myUnit[9] = new Unit(TeacherList.马国富,CourseList .数据结构);
            myUnit[10] = new Unit(TeacherList.李阳,CourseList.操作系统原理及应用);
            myUnit[11] = new Unit(TeacherList.李春雨,CourseList.微机原理);
            myUnit[12] = new Unit(TeacherList.孙伟,CourseList.数据库原理);
            myUnit[13] = new Unit(TeacherList.曹利培,CourseList.Photoshop和flash制作);
            myUnit[14] = new Unit(TeacherList.董娟, CourseList.大学英语);
            foreach (Unit e in myUnit)
            {
                Console.Write(e.Teacher);
                Console.Write("----------");
                Console.WriteLine(e.Course);
            }
                Console.ReadKey();
        }
    }
}
大家先不用管我弄这个程序要干什么,主要看看最后的对象数组,很简单。
我现在把它弄到WIN FORM 程序上去(我对WIN FORM没什么经验)
好看了,
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WindowsApplication7
{
    public partial class Form1 : Form
    {        public Form1()
        {
            InitializeComponent();
            Unit[] myUnit = new Unit[15];
            myUnit[0] = new Unit(TeacherList.李春雨, CourseList.微机原理);
            myUnit[1] = new Unit(TeacherList.董娟, CourseList.大学英语);
            myUnit[2] = new Unit(TeacherList.刘爱琴, CourseList.摩托罗拉单片机);
            myUnit[3] = new Unit(TeacherList.体育老师, CourseList.体育);
            myUnit[4] = new Unit(TeacherList.马国富, CourseList.数据结构);
            myUnit[5] = new Unit(TeacherList.李阳, CourseList.操作系统原理及应用);
            myUnit[6] = new Unit(TeacherList.曹利培, CourseList.Photoshop和flash制作);
            myUnit[7] = new Unit(TeacherList.孙伟, CourseList.数据库原理);
            myUnit[8] = new Unit(TeacherList.现代科学技术概论老师, CourseList.现代科学技术概论);
            myUnit[9] = new Unit(TeacherList.马国富, CourseList.数据结构);
            myUnit[10] = new Unit(TeacherList.李阳, CourseList.操作系统原理及应用);
            myUnit[11] = new Unit(TeacherList.李春雨, CourseList.微机原理);
            myUnit[12] = new Unit(TeacherList.孙伟, CourseList.数据库原理);
            myUnit[13] = new Unit(TeacherList.曹利培, CourseList.Photoshop和flash制作);
            myUnit[14] = new Unit(TeacherList.董娟, CourseList.大学英语);
        }        private void button1_Click(object sender, EventArgs e)
        {
            myUnit[0].flag = true;/////////////////就是这个地方!!!!!!!!!!!!!!
        }
    }
    enum TeacherList
    {
        李春雨,
        董娟,
        刘爱琴,
        体育老师,
        马国富,
        李阳,
        曹利培,
        孙伟,
        现代科学技术概论老师
    }
    enum CourseList
    {
        微机原理,
        大学英语,
        摩托罗拉单片机,
        体育,
        数据结构,
        操作系统原理及应用,
        Photoshop和flash制作,
        数据库原理,
        现代科学技术概论    }
    class Unit
    {
        private string teacherName;
        private string courseName;
        private bool flag = false;
        public Unit(TeacherList teacherName, CourseList courseName)
        {
            this.teacherName = teacherName.ToString();
            this.courseName = courseName.ToString();
        }
        public string Teacher
        {
            get
            {
                return teacherName;
            }
        }
        public string Course
        {
            get
            {
                return courseName;
            }
        }
        public bool pubFlag
        {
            get
            {
                return flag;
            }
        }
    }}
看带注释的那句
我写上一运行 VS05说不存在myUnit,我很纳闷然后我就把那些 声明对象数组的代码移到别的地方,结果出现很多错误
今天下午弄了两三个小时,也没弄明白,我就去上无聊的单片机的课了。。希望大家给讲解一下,在WINFORM程序中怎么用 对象数组,对象数组 在什么地方声明?
谢谢大家

解决方案 »

  1.   

    Unit[] myUnit = new Unit[15]; 挪到public Form1()上面变成全局变量就可以了
      

  2.   

    而且 myUnit[0].flag = true; 你的结构里的flag是只读的,应该不可以赋值的
      

  3.   

    同2、3楼,你的Unit[] myUnit = new Unit[15];
    在form1的构造函数里面,button1_Click事件处理不在myUnit的作用域里
    放到构造函数外面就好了
    并且        private bool flag = false;//私有字段,该类外部不能访问        public bool pubFlag//所以应该是myUnit[0].pubFlag,且不能是只读的属性
            {
                get
                {
                    return flag;
                }
                set
                {
                    this.flag=value;//加上这个才能赋值
                }
            }
      

  4.   

    关于那个SET访问器其实我在提问以前已经改了,发帖的时候发的是改前的版本问题就是那个声明,应该弄个全局的好了 谢谢 同志们,对给分不满意的以后补给大家