using System;
using System.Collections;
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;
using System.Collections;
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 体验套餐管理系统
{
public partial class Form1 : Form
{
//采用泛型集合List保存所有的体检项目
List<HealthCheakItem> AllItems = new List<HealthCheakItem>();
//采用泛型集合List保存套餐中的体检项目
List<HealthCheakItem> items = new List<HealthCheakItem>();
//定义一个默认套餐
HealthCheakSet setA;
HealthCheakItem height, weight, shi, ting, gan, chao, tu;
Dictionary<string,HealthCheakSet> HealthSet=new Dictionary<string ,HealthCheakSet>();
public Form1()
{
InitializeComponent();
{
public partial class Form1 : Form
{
//采用泛型集合List保存所有的体检项目
List<HealthCheakItem> AllItems = new List<HealthCheakItem>();
//采用泛型集合List保存套餐中的体检项目
List<HealthCheakItem> items = new List<HealthCheakItem>();
//定义一个默认套餐
HealthCheakSet setA;
HealthCheakItem height, weight, shi, ting, gan, chao, tu;
Dictionary<string,HealthCheakSet> HealthSet=new Dictionary<string ,HealthCheakSet>();
public Form1()
{
InitializeComponent();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string setName = this.comboBox1.Text;
if (setName == "请选择")
{
this.dataGridView1.DataSource = new BindingList<HealthCheakItem>();
label5.Text = "";
label7.Text = " ";
return;
}
//设置套餐名称
label5.Text = this.HealthSet[setName].setName;
//设置套餐价格
label7.Text = this.HealthSet[setName].Price.ToString();
//更新套餐体检项目
//设置删除按钮为可用状态
this.button3.Enabled = true;
}
{
string setName = this.comboBox1.Text;
if (setName == "请选择")
{
this.dataGridView1.DataSource = new BindingList<HealthCheakItem>();
label5.Text = "";
label7.Text = " ";
return;
}
//设置套餐名称
label5.Text = this.HealthSet[setName].setName;
//设置套餐价格
label7.Text = this.HealthSet[setName].Price.ToString();
//更新套餐体检项目
//设置删除按钮为可用状态
this.button3.Enabled = true;
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
{
}
public void InilSet()
{
height = new HealthCheakItem("身高", "用来检查身高", 5);
weight = new HealthCheakItem("体重", "用来检查体重", 15);
shi = new HealthCheakItem("视力", "用来检查视力", 25);
ting = new HealthCheakItem("听力", "用来检查听力", 25);
gan = new HealthCheakItem("肝功能", "用来检查肝功能", 85);
chao = new HealthCheakItem("B超", "用来检查B超", 45);
tu = new HealthCheakItem("心电图", "用来检查心电图", 75);
AllItems.Add(height);
AllItems.Add(weight);
AllItems.Add(shi);
AllItems.Add(ting);
AllItems.Add(gan);
AllItems.Add(chao);
AllItems.Add(tu);
}
public void Init()
{
//清空下拉列表
this.comboBox2.Items.Clear();
//添加请选择
//this.comboBox2.Items.Add("请选择");
foreach (HealthCheakItem key in AllItems)
{
this.comboBox2.Items.Add(key.Name);
this.button2.Enabled = true;
// MessageBox.Show(key);
}
this.comboBox2.SelectedIndex = 0;
}
// 在套餐列表中的默认一个“入学体检”并给此套餐设置制定的检查项目
public void MoRen()
{
items = new List<HealthCheakItem>();
items.Add(height);
items.Add(weight);
items.Add(gan);
setA = new HealthCheakSet("入学体检", items);
this.HealthSet.Add("入学体检", setA);
setA.CalcPrice();
dgvAdd(setA);
foreach (var item in HealthSet)
{
this.comboBox1.Items.Add(item.Key);
}
public void InilSet()
{
height = new HealthCheakItem("身高", "用来检查身高", 5);
weight = new HealthCheakItem("体重", "用来检查体重", 15);
shi = new HealthCheakItem("视力", "用来检查视力", 25);
ting = new HealthCheakItem("听力", "用来检查听力", 25);
gan = new HealthCheakItem("肝功能", "用来检查肝功能", 85);
chao = new HealthCheakItem("B超", "用来检查B超", 45);
tu = new HealthCheakItem("心电图", "用来检查心电图", 75);
AllItems.Add(height);
AllItems.Add(weight);
AllItems.Add(shi);
AllItems.Add(ting);
AllItems.Add(gan);
AllItems.Add(chao);
AllItems.Add(tu);
}
public void Init()
{
//清空下拉列表
this.comboBox2.Items.Clear();
//添加请选择
//this.comboBox2.Items.Add("请选择");
foreach (HealthCheakItem key in AllItems)
{
this.comboBox2.Items.Add(key.Name);
this.button2.Enabled = true;
// MessageBox.Show(key);
}
this.comboBox2.SelectedIndex = 0;
}
// 在套餐列表中的默认一个“入学体检”并给此套餐设置制定的检查项目
public void MoRen()
{
items = new List<HealthCheakItem>();
items.Add(height);
items.Add(weight);
items.Add(gan);
setA = new HealthCheakSet("入学体检", items);
this.HealthSet.Add("入学体检", setA);
setA.CalcPrice();
dgvAdd(setA);
foreach (var item in HealthSet)
{
this.comboBox1.Items.Add(item.Key);
}
}
//体检套餐下拉列表
//public void InitHealthSet()
//{
// //清空下拉列表
// this.comboBox1.Items.Clear();
// //添加请选择
// this.comboBox1.Items.Add("请选择");
// foreach (HealthCheakItem key in HealthSet)
// {
// this.comboBox1.Items.Add(key.Name);
// }
// this.comboBox1.SelectedIndex = 0;
//}
//把数据绑定到DataGridView中显示套餐的检查项目
public void dgvAdd(HealthCheakSet set)
{
dataGridView1.DataSource = new BindingList<HealthCheakItem>(set.items);
}
private void Form1_Load(object sender, EventArgs e)
{
InilSet();
Init();
MoRen();
//InitHealthSet();
}
//点击添加按钮可以在数据列表中显示出来
private void button2_Click(object sender, EventArgs e)
{
int index = this.comboBox2.SelectedIndex;
MessageBox.Show(index .ToString ());
try
{
if (this.comboBox1.SelectedIndex == -1)
{
MessageBox.Show("请选择一个项目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
string newName = this.comboBox1.Text;
if (newName == "请选择")
{
MessageBox.Show("请选择一个套餐", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
{
InilSet();
Init();
MoRen();
//InitHealthSet();
}
//点击添加按钮可以在数据列表中显示出来
private void button2_Click(object sender, EventArgs e)
{
int index = this.comboBox2.SelectedIndex;
MessageBox.Show(index .ToString ());
try
{
if (this.comboBox1.SelectedIndex == -1)
{
MessageBox.Show("请选择一个项目", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
string newName = this.comboBox1.Text;
if (newName == "请选择")
{
MessageBox.Show("请选择一个套餐", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (!this.HealthSet[newName].items.Contains(AllItems[index]))
{
this.HealthSet[newName].items.Add(AllItems[index]);
this.HealthSet[newName].CalcPrice();
dgvAdd(HealthSet[newName]);
//刷新窗体中显示套餐名称
this.label5.Text = this.HealthSet[newName].setName;
//刷新窗体中显示套餐价格
this.label7.Text = this.HealthSet[newName].Price.ToString();
MessageBox.Show("添加成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("该项目已经存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
}
if (!this.HealthSet[newName].items.Contains(AllItems[index]))
{
this.HealthSet[newName].items.Add(AllItems[index]);
this.HealthSet[newName].CalcPrice();
dgvAdd(HealthSet[newName]);
//刷新窗体中显示套餐名称
this.label5.Text = this.HealthSet[newName].setName;
//刷新窗体中显示套餐价格
this.label7.Text = this.HealthSet[newName].Price.ToString();
MessageBox.Show("添加成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("该项目已经存在", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//点击删除按钮将选中项从套餐中删除
}
}
//点击删除按钮将选中项从套餐中删除
private void button3_Click(object sender, EventArgs e)
{
string setName = this.comboBox1.Text;
MessageBox.Show(setName);
if (this.dataGridView1.SelectedRows.Count == 0)
{
MessageBox.Show("请选择一项删除", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else
{
//获得所删除项的索引
int index = this.dataGridView1.SelectedRows[0].Index;
MessageBox.Show(index.ToString());
//删除所选中的项
this.HealthSet[setName].items.RemoveAt(index);
//重新计算价格
this.HealthSet[setName].CalcPrice();
//更新数据
dgvAdd(HealthSet[setName]);
label5.Text = setA.setName;
string cboSetText = this.comboBox2.Text;
this.label7.Text = setA.Price.ToString(); ;
MessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
//添加套餐检查项目
private void but_Click(object sender, EventArgs e)
{
if (this.txtName.Text == "")
{
MessageBox.Show("请输入要添加的套餐名称");
return;
}
this.HealthSet.Add(this.txtName.Text, setA);
this.AddSet();
this.comboBox1.SelectedIndex = this.HealthSet.Count;
MessageBox.Show("添加成功");
}
public void AddSet()
{
this.comboBox1.Items.Clear();
this.comboBox1.Items.Add("请选择");
foreach (string item in HealthSet.Keys)
{
this.comboBox1.Items.Add(item);
}
this.comboBox1.SelectedIndex = 0;
{
string setName = this.comboBox1.Text;
MessageBox.Show(setName);
if (this.dataGridView1.SelectedRows.Count == 0)
{
MessageBox.Show("请选择一项删除", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
else
{
//获得所删除项的索引
int index = this.dataGridView1.SelectedRows[0].Index;
MessageBox.Show(index.ToString());
//删除所选中的项
this.HealthSet[setName].items.RemoveAt(index);
//重新计算价格
this.HealthSet[setName].CalcPrice();
//更新数据
dgvAdd(HealthSet[setName]);
label5.Text = setA.setName;
string cboSetText = this.comboBox2.Text;
this.label7.Text = setA.Price.ToString(); ;
MessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
//添加套餐检查项目
private void but_Click(object sender, EventArgs e)
{
if (this.txtName.Text == "")
{
MessageBox.Show("请输入要添加的套餐名称");
return;
}
this.HealthSet.Add(this.txtName.Text, setA);
this.AddSet();
this.comboBox1.SelectedIndex = this.HealthSet.Count;
MessageBox.Show("添加成功");
}
public void AddSet()
{
this.comboBox1.Items.Clear();
this.comboBox1.Items.Add("请选择");
foreach (string item in HealthSet.Keys)
{
this.comboBox1.Items.Add(item);
}
this.comboBox1.SelectedIndex = 0;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 体验套餐管理系统
{
public class HealthCheakSet
{
public string setName { get; set; }
public int Price { get; set; }
{
public class HealthCheakSet
{
public string setName { get; set; }
public int Price { get; set; }
public List<HealthCheakItem> items { get; set; }
//套餐价格计算方法
public void CalcPrice()
{
int totalPrice = 0;
foreach (HealthCheakItem item in this.items)
{
totalPrice += item.Price;
}
this.Price = totalPrice;
}
public HealthCheakSet(string setname, List<HealthCheakItem> items)
{
this.setName = setname;
this.items = items;
}
}
}
//套餐价格计算方法
public void CalcPrice()
{
int totalPrice = 0;
foreach (HealthCheakItem item in this.items)
{
totalPrice += item.Price;
}
this.Price = totalPrice;
}
public HealthCheakSet(string setname, List<HealthCheakItem> items)
{
this.setName = setname;
this.items = items;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 体验套餐管理系统
{
public class HealthCheakItem
{
public string Description { get; set; }
{
public class HealthCheakItem
{
public string Description { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public int Price { get; set; }
public HealthCheakItem(string name, string description, int price)
{
this.Name = name;
this.Description = description;
this.Price = price;
}
}
}
}