C#基础知识及题目练习 Day18 实例:学校信息管理系统

一、学校信息的添加、修改、删除

首先,建一个学校School类和一个公共类Common静态类

在Common中创建一个Dictionary集合,用于存储所有学校

        public static Dictionary<int, School> dicSchool = new Dictionary<int, School>();

创建一个方法,用于获取新的编号:

        public static int GetNum(List<int> lst)
        {
            if (lst.Count > 0)
            {
                return lst.Max() + 1;
            }
            return 1;
        }

代码如下:

    class School
    {
        private int _schNum;
        /// <summary>
        /// 学校编号
        /// </summary>
        public int SchNum
        {
            get { return _schNum; }
            set { _schNum = value; }
        }
        private string _schName;
        /// <summary>
        /// 学校名称
        /// </summary>
        public string SchName
        {
            get { return _schName; }
            set { _schName = value; }
        }
        private string _schAddress;
        /// <summary>
        /// 学校地址
        /// </summary>
        public string SchAddress
        {
            get { return _schAddress; }
            set { _schAddress = value; }
        }

    }

 

    static class Common
    {
        /// <summary>
        /// 创建一个集合,用于存储所有学校
        /// key:学校编号    value:学校类
        /// </summary>
        public static Dictionary<int, School> dicSchool = new Dictionary<int, School>();
        /// <summary>
        /// 获取一个新编号
        /// </summary>
        /// <param name="lst">已有编号</param>
        /// <returns></returns>
        public static int GetNum(List<int> lst)
        {
            if (lst.Count > 0)
            {
                return lst.Max() + 1;
            }
            return 1;
        }
    }

1、添加

将新创建的学校添加到集合中,并且绑定到DataGridView控件中进行显示

           //1、获取控件上输入的学校名称和地址
            string schoolNme = txtSchoolName.Text.Trim();   //学校名称
            string schAddress = txtAddress.Text.Trim();     //学校地址

            //2、为该学校取一个编号
            //获取学校集合目前的编号集合
            List<int> lstNums = Common.dicSchool.Keys.ToList();
            //调用获取编号的方法,取得新编号
            int schNo = Common.GetNum(lstNums);

            //3、创建一个学校对象
            School sch = new School();
            sch.SchoolName = schoolNme;
            sch.SchoolNum = schNo;
            sch.Address = schAddress;

            //4、把该学校对象添加到集合中
            Common.dicSchool.Add(schNo, sch);

如何将集合添加到DataGridView控件中进行显示?
            //创建BindingSource对象
            BindingSource bind = new BindingSource();
            //为该对象绑定数据源
            bind.DataSource = Common.dicSchool.Values;
            //为DataGridView控件绑定数据源
            dataGridView1.DataSource = bind;

            //更改表头的名字
            dataGridView1.Columns[0].HeaderText = "学校编号";
            dataGridView1.Columns[1].HeaderText = "学校名称";
            dataGridView1.Columns[2].HeaderText = "学校地址";

Form1:

    private void ToolStripSchool_Click(object sender, EventArgs e)
        {
            //显示学校信息界面
            SchFrm sch = new SchFrm();
            DialogResult reslt=sch.ShowDialog();
            if (reslt == DialogResult.OK)
            {
                //为学校的ComboBox赋数据源
                cmbSchool.DataSource = Common.dicSchool.Values.ToList();
                cmbSchool.DisplayMember = "Address";
            }
        }

Form2:

    public partial class SchFrm : Form
    {
        public SchFrm()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 将新创建的学校添加到集合中,并且绑定到DataGridView控件中进行显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAdd_Click(object sender, EventArgs e)
        {
            //1、获取控件上输入的学校名称和地址
            string schoolNme = txtSchoolName.Text.Trim();   //学校名称
            string schAddress = txtAddress.Text.Trim();     //学校地址

            //2、为该学校取一个编号
            //获取学校集合目前的编号集合
            List<int> lstNums = Common.dicSchool.Keys.ToList();
            //调用获取编号的方法,取得新编号
            int schNo = Common.GetNum(lstNums);

            //3、创建一个学校对象
            School sch = new School();
            sch.SchoolName = schoolNme;
            sch.SchoolNum = schNo;
            sch.Address = schAddress;

            //4、把该学校对象添加到集合中
            Common.dicSchool.Add(schNo, sch);

            //5、将集合添加到DataGridView控件中进行显示
            //创建BindingSource对象
            BindingSource bind = new BindingSource();
            //为该对象绑定数据源
            bind.DataSource = Common.dicSchool.Values;
            //为DataGridView控件绑定数据源
            dataGridView1.DataSource = bind;

            //更改表头的名字
            dataGridView1.Columns[0].HeaderText = "学校编号";
            dataGridView1.Columns[1].HeaderText = "学校名称";
            dataGridView1.Columns[2].HeaderText = "学校地址";


        }

        /// <summary>
        /// 修改学校
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnModify_Click(object sender, EventArgs e)
        {
            if (txtNum.Text == "")
            {
                MessageBox.Show("请选中要修改的行!");
                return;
            }
            //从控件上获取修改以后的值。要注意的是,学校编号是不允许修改的
            string strName = txtSchoolName.Text.Trim(); //学校名称
            string strAddr = txtAddress.Text.Trim();    //学校地址

            //根据学校编号找到该条学校信息,将新值更新回集合,
            int num = Convert.ToInt32(txtNum.Text);
            //创建一个修改后的学校对象
            School schNew = new School();
            schNew.SchoolName = strName;
            schNew.Address = strAddr;
            schNew.SchoolNum = num;
            //用新的School对象更新集合中该编号对应的学校对象
            Common.dicSchool[num] = schNew;
            //重新绑定数据源
            BindDataSource();
        }

        /// <summary>
        /// 绑定数据源
        /// </summary>
        private void BindDataSource()
        {
            //创建BindingSource对象
            BindingSource bind = new BindingSource();
            //为该对象绑定数据源
            bind.DataSource = Common.dicSchool.Values;
            //为DataGridView控件绑定数据源
            dataGridView1.DataSource = bind;

            //更改表头的名字
            dataGridView1.Columns[0].HeaderText = "学校编号";
            dataGridView1.Columns[1].HeaderText = "学校名称";
            dataGridView1.Columns[2].HeaderText = "学校地址";
        }

        private void dataGridView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            
        }

        /// <summary>
        /// DataGridView单元格点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //当前选中行的索引
            int index = e.RowIndex;
            if (index < 0)  //没有选取任何行
            {
                return;
            }
            //根据索引得到该行的值(该行的学校信息)
            //取到学校编号
            string strId=dataGridView1.Rows[index].Cells["SchoolNum"].Value.ToString();
            txtNum.Text = strId;    //将学校编号回显到控件上

            //取学校名称
            string strName = dataGridView1.Rows[index].Cells[1].Value.ToString();
            txtSchoolName.Text = strName;

            //取学校地址
            string strAddress = dataGridView1.Rows[index].Cells[2].Value.ToString();
            txtAddress.Text = strAddress;
        }

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDel_Click(object sender, EventArgs e)
        {
            //判断学校编号有没有
            if (txtNum.Text == "")
            {
                MessageBox.Show("请选中一条记录进行删除!");
                return;
            }

            //取得要删除的编号
            int num = Convert.ToInt32(txtNum.Text);
            DialogResult result=MessageBox.Show("你确定要删除该条记录吗?","确认信息",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);
           if(result==DialogResult.OK)
            {
                //从集合中删除该编号对应的记录
                Common.dicSchool.Remove(num);

                //重新绑定数据源
                BindDataSource();
                txtNum.Text = "";
                txtSchoolName.Text = "";
                txtAddress.Text = "";
            }
           


        }

        /// <summary>
        /// 确定按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.OK;
            this.Close();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MES信息管理系统是一种专门用于生产制造的信息管理系统。它可以对生产过程进行全位的监测和管理,确保生产过程的高效顺利运行,提高生产效率和质量。MES信息管理系统在制造业中应用越来越广泛。 举个例子,在汽车制造业中,MES可以实时跟踪生产物料的流动,从而减少生产过程中的物料浪费,提高生产效率;可以对设备进行实时监测,避免设备故障造成的生产停滞和损失;可以通过管理生产计划和订单,保证按时完成生产指标和客户需求。 另外,在电子制造业中,MES可以实时追踪批次产品的生产情况,分析生产过程中的数据,并根据数据对工艺流程进行调整和优化,提高产品质量和降低生产成本。 总之,MES信息管理系统在生产制造领域中的应用非常广泛。它可以帮助企业实现生产自动化、信息化、智能化等目标,提高企业的竞争力和市场地位。 ### 回答2: MES信息管理系统(Manufacturing Execution System)是一种工业生产信息管理软件,可实现生产过程中实时的数据采集、监控、分析和管理。例如,MES可用于物料管理、工单管理、生产进度跟踪、质量管理、数据分析等面。 MES采用企业一体化的思想,将企业各个部门的信息进行整合,并通过集中化的控制,提高企业的生产效率和管理水平。MES的核心是控制生产的各个环节,使之高效运作,并确保产品的质量和产能的稳定性。 MES的实例c可涵盖多个领域。例如,MES可以用于电子工业中的芯片生产过程中,包括晶圆的切割、清洗、刻蚀等生产过程,MES可以实时监测这些过程的数据并对其进行分析,实现精准的数据控制和优化;还可以用于制药工业中,MES 可以监测药品的生产过程,包括原材料的配制、药物的制造、包装和质量检测等,MES可以提高制药企业的生产效率及质量水平。 总之,MES信息管理系统不仅有一定的适用范围,而且是千禧一代信息化的生产理念,其应用前景和发展空间都非常广阔。 ### 回答3: MES信息管理系统是制造业中广泛应用的一种自动化系统,可以有效地提高制造业的生产效率和管理水平。 MES信息管理系统实例C是一种基于企业内部需求设计的MES系统,它以电子生产任务单和物流追踪系统为核心,通过与生产设备的联接,实现了全面的生产过程跟踪、质量管理、能源管理以及系统控制等一系列功能。 该MES系统可以为企业提供全面的数据分析与管理,使管理人员得以快速准确地掌握生产的情况,对生产进程进行实时监测和调整。另外,该系统具有高精度、稳定的数据采集和自动化控制能力,能够有效地提高生产效率、降低生产成本,保障产品质量的稳定性。 在制造业领域备受欢迎的MES信息管理系统,其核心理念是通过实时数据采集、智能分析和可视化管理等手段,帮助企业实现高质量、高效率、低成本的生产过程管理,提升企业的竞争优势。 随着信息技术的不断发展和普及,MES信息管理系统将拥有更加广泛的应用场景和更高的市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值