C# 体检套餐管理系统

来源:互联网 发布:sql的encode decode 编辑:程序博客网 时间:2024/04/27 21:05

 1.创建体检项目维护系统中的检查项目类 ,体检套餐类和一个泛型类如下图

 

 2.窗体的搭建,如下图:

                       

   3.编写代码:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace _05_体检套餐{    public partial class FrmMain : Form    {        public FrmMain()        {            InitializeComponent();        }         private List<HealthCheckItem> checkItems = new List<HealthCheckItem>();                public List<HealthCheckItem> CheckItems        {            get { return checkItems; }            set { checkItems = value; }        }         // 创建套餐类表的集合               private List<HealthCheckSet> checkSets = new List<HealthCheckSet>();        public List<HealthCheckSet> CheckSets        {            get { return checkSets; }            set { checkSets = value; }        }                // 初始化检查项目信息              public void IntitalHealthCheckItem()        {            //创建检查项目的对象            HealthCheckItem healthCheckItem1 = new HealthCheckItem();            healthCheckItem1.Name = "请选择";            //将数据添加到集合中            this.checkItems.Add(healthCheckItem1);            //创建检查项目的对象            HealthCheckItem healthCheckItem2 = new HealthCheckItem();            healthCheckItem2.Name = "肝功";            healthCheckItem2.Description = "检查肝功能指标";            healthCheckItem2.Price = 50;            this.checkItems.Add(healthCheckItem2);            //创建检查项目的对象            HealthCheckItem healthCheckItem3 = new HealthCheckItem();            healthCheckItem3.Name = "身高";            healthCheckItem3.Description = "检查身体的高度";            healthCheckItem3.Price = 10;            this.checkItems.Add(healthCheckItem3);            //创建检查项目的对象            HealthCheckItem healthCheckItem4 = new HealthCheckItem();            healthCheckItem4.Name = "体重";            healthCheckItem4.Description = "检查身体重量指标";            healthCheckItem4.Price = 20;            this.checkItems.Add(healthCheckItem4);            //创建检查项目的对象            HealthCheckItem healthCheckItem5 = new HealthCheckItem();            healthCheckItem5.Name = "视力";            healthCheckItem5.Description = "检查视觉能力";            healthCheckItem5.Price = 30;            this.checkItems.Add(healthCheckItem5);            //创建检查项目的对象            HealthCheckItem healthCheckItem6 = new HealthCheckItem();            healthCheckItem6.Name = "听力";            healthCheckItem6.Description = "检查听觉能力";            healthCheckItem6.Price = 23;            this.checkItems.Add(healthCheckItem6);            //创建检查项目的对象            HealthCheckItem healthCheckItem7 = new HealthCheckItem();            healthCheckItem7.Name = "B超";            healthCheckItem7.Description = "检查B超";            healthCheckItem7.Price = 80;            this.checkItems.Add(healthCheckItem7);            //创建检查项目的对象            HealthCheckItem healthCheckItem8 = new HealthCheckItem();            healthCheckItem8.Name = "心电图";            healthCheckItem8.Description = "检查心电图";            healthCheckItem8.Price = 50;            this.checkItems.Add(healthCheckItem8);        }        //将检查项目的数据绑定到下拉列表框               public void LoadComboxHealthCheckItem()        {            //定义数组保存            String[] checkItemsName = new String[checkItems.Count];            for (int i = 0; i < checkItemsName.Length; i++)            {                checkItemsName[i] = checkItems[i].Name;            }            //绑定数据源            this.comboBoxCkeck.DataSource = checkItemsName;            //默认选中第一个            this.comboBoxCkeck.SelectedIndex = 0;        }                    // 初始化套餐信息              public void IntitalHealthCheckSet()        {            HealthCheckSet healthCheckSet1 = new HealthCheckSet();            healthCheckSet1.Name = "请选择";            this.checkSets.Add(healthCheckSet1);            HealthCheckSet healthCheckSet2 = new HealthCheckSet();            healthCheckSet2.Name = "入学体检";            this.checkSets.Add(healthCheckSet2);        }              // 将套餐数据绑定到下拉列表框              public void LoadHealthCheckSet()        {            String[] healthCheckSetNames = new String[checkSets.Count];            for (int i = 0; i < healthCheckSetNames.Length; i++)            {                healthCheckSetNames[i] = checkSets[i].Name;            }            this.comboBoxList.DataSource = healthCheckSetNames;        }        private void FrmMain_Load(object sender, EventArgs e)        {            //最大化不可用            this.MaximizeBox = false;            //设置添加不可用            this.buttonAd.Enabled = false;            //设置删除不可用            this.buttondelete.Enabled = false;            //设置为只读状态            this.comboBoxCkeck.DropDownStyle = ComboBoxStyle.DropDownList;            this.comboBoxList.DropDownStyle = ComboBoxStyle.DropDownList;            //默认选中一行            this.dataGridViewset.SelectionMode = DataGridViewSelectionMode.FullRowSelect;            this.labelset.Text = "";            this.labelp.Text = "";            //调用初始化检查项方法            IntitalHealthCheckItem();            //调用将检查项目的数据绑定到下拉列表框的方法            LoadComboxHealthCheckItem();            //调用初始化套餐信息的方法            IntitalHealthCheckSet();            //调用将套餐数据绑定到下拉列表框的方法            LoadHealthCheckSet();            LoadcheckSetsItems();        }        // 加载初始化对应的套餐功能项                public void LoadcheckSetsItems()        {            //创建套餐类的对象            HealthCheckSet healthCheckSet = null;            //创建检查项的对象            HealthCheckItem healthCheckItem = null;            string nameSet = "入学体检";            //循环遍历得到对应的对象            foreach (HealthCheckSet item in checkSets)            {                if (nameSet.Equals(item.Name))                {                    healthCheckSet = item;                    break;                }            }            //清除对应的套餐对应的功能项            healthCheckSet.HealthCheckItems.Clear();            string name = "肝功";            //循环遍历得到对应的对象            foreach (HealthCheckItem item in checkItems)            {                if (name.Equals(item.Name))                {                    healthCheckItem = item;                    break;                }            }            //创建检查项的对象            HealthCheckItem healthCheckItem1 = null;            string name1 = "视力";            //循环遍历得到对应的对象            foreach (HealthCheckItem item in checkItems)            {                if (name1.Equals(item.Name))                {                    healthCheckItem1 = item;                    break;                }            }            //创建检查项的对象            HealthCheckItem healthCheckItem2 = null;            string name2 = "身高";            //循环遍历得到对应的对象            foreach (HealthCheckItem item in checkItems)            {                if (name2.Equals(item.Name))                {                    healthCheckItem2 = item;                    break;                }            }            //将对象添加到            healthCheckSet.HealthCheckItems.Add(healthCheckItem);            //将对象添加到            healthCheckSet.HealthCheckItems.Add(healthCheckItem1);            //将对象添加到            healthCheckSet.HealthCheckItems.Add(healthCheckItem2);        }        // 将数据绑定到DatagridView        public void LoadDatagridView(HealthCheckSet healthCheckSet)        {            //将数据绑定到DatagridView            this.dataGridViewset.DataSource = new BindingList<HealthCheckItem>(healthCheckSet.HealthCheckItems);        }        HealthCheckSet healthCheckSet = null;        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)        {              /// 当用户选中的是“请选择”的时候绑定数据为以下的集合            List<HealthCheckItem> i = new List<HealthCheckItem>();            //获取当前选中的项            string name = this.comboBoxList.SelectedItem.ToString();            //判断用户是否选中套餐名            if (name.Equals("请选择"))            {                //数据源为null                this.dataGridViewset.DataSource = i;                this.labelset.Text = "";                this.labelp.Text = "";                return;            }            //根据用户选中的套餐名查找对应的检查信息            foreach (HealthCheckSet item in checkSets)            {                if (name.Equals(item.Name))                {                    healthCheckSet = item;                    break;                }            }            //调用将套餐对应的数据绑定到DatagridView的方法            LoadDatagridView(healthCheckSet);            //加载价格            healthCheckSet.CaloPrice();            this.labelset.Text = healthCheckSet.Name;            this.labelp.Text = healthCheckSet.Price.ToString();            //将按年调为可用状态            this.buttonAd.Enabled = true;            this.buttondelete.Enabled = true;        }                     //当用户点击”添加套餐“的时候响应的事件        private void buttonAdd_Click(object sender, EventArgs e)        {            //判断用户书否输入            if (this.textBoxName.Text.Trim().Equals(string.Empty))            {                MessageBox.Show("请输入要添加的套餐内容!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                this.textBoxName.Focus();                return;            }            //获得用户输入的文本            string name = this.textBoxName.Text.Trim();            //判断是否有同名的套餐存在            foreach (HealthCheckSet hc in checkSets)            {                if (name.Equals(hc.Name))                {                    MessageBox.Show("已经有相同名字的体检套餐存在!");                    return;                }            }            //创建套餐对象            HealthCheckSet healthCheckSet1 = new  HealthCheckSet();            healthCheckSet1.Name = name;            //将套餐对象添加到套餐集合中            this.checkSets.Add(healthCheckSet1);            //调用将套餐数据绑定到下拉列表框的方法            LoadHealthCheckSet();            //将套餐列表默认选中当前添加的项            this.comboBoxList.SelectedItem = name;            MessageBox.Show("添加成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);            this.textBoxName.Clear();        }        // 当用户点击”添加检查项“的时候响应的事件        private void buttonAd_Click(object sender, EventArgs e)        {            //获得用户选中的项            string name = this.comboBoxCkeck.SelectedItem.ToString();            HealthCheckItem hci = null;            if (name.Equals("请选择"))            {                MessageBox.Show("您当前为选择相应的添加功能!", "添加提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                return;            }            //判断套餐中是否已经存在要添加的项            foreach (HealthCheckItem item in healthCheckSet.HealthCheckItems)            {                if (name.Equals(item.Name))                {                    MessageBox.Show("您已经添加了“" + item.Name + "”此检查项", "添加提示", MessageBoxButtons.OK, MessageBoxIcon.Information);                    return;                }            }            //循环遍历得到用户选中的添加项的对象            foreach (HealthCheckItem item in checkItems)            {                if (name.Equals(item.Name))                {                    hci = item;                    break;                }            }            //HealthCheckSet checkset = new HealthCheckSet();            healthCheckSet.HealthCheckItems.Add(hci);            //价格刷新            healthCheckSet.CaloPrice();            this.labelset.Text = healthCheckSet.Name;            this.labelp.Text = healthCheckSet.Price.ToString();            //调用datagridview加载的方法            LoadDatagridView(healthCheckSet);            MessageBox.Show("添加成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);        }        private void buttondelete_Click(object sender, EventArgs e)        {            //判断用户是否选中            if (this.dataGridViewset.SelectedRows.Count > 0)            {                //获得用户选中的行的首行首列                string name = Convert.ToString(this.dataGridViewset.SelectedRows[0].Cells[0].Value);                //创建检查的项                HealthCheckItem checkitem = null;                //循环遍历集合得到对应的对象                foreach (HealthCheckItem item in healthCheckSet.HealthCheckItems)                {                    if (name.Equals(item.Name))                    {                        checkitem = item;                        break;                    }                }                //删除用户选中的套餐的选中的项的方法                healthCheckSet.HealthCheckItems.Remove(checkitem);                //价格刷新                healthCheckSet.CaloPrice();                this.labelset.Text = healthCheckSet.Name;                this.labelp.Text = healthCheckSet.Price.ToString();                //调用datagridview加载的方法                LoadDatagridView(healthCheckSet);                MessageBox.Show("删除成功!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information);          }        }                                                 }    }


 

0 0
原创粉丝点击