热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第五章项目体检套餐管理系统

1 using System; 2 using System.Collections.Generic; 3 using System.C
  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Threading.Tasks;
  9 using System.Windows.Forms;
 10 
 11 namespace 体检套餐
 12 {
 13 public partial class TiJian : Form
 14 {
 15 public TiJian()
 16 {
 17 InitializeComponent();
 18 }
 19 #region 定义..
 20 //定义几个检查项目
 21 HealIte height, weight, sight, hearing, liverFun, ekg, bwaves, bloodpressure, bloodTest;
 22 //定义几个检查项目
 23 //HealIte height, weight, singht, hearing, liveFun, ekg, bwaves, bloodpressure, bloodTest;
 24 
 25 
 26 //定义一个系统默认检查套餐"入学体检"
 27 HealtSet setA;
 28 //保存所有体检项目
 29 List ALLItems = new List();
 30 //保存套餐中的体检项目
 31 List ltems = new List();
 32 
 33 //使用字典保存套餐集合
 34 public Dictionary<string, HealtSet> healtset = new Dictionary<string, HealtSet>();
 35 
 36 #endregion
 37 
 38 #region 保存套餐列表
 39 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
 40 {
 41 
 42 //采用泛型集合List保存所有的体检项目
 43 List AllItems = new List();
 44 //采用反省集合List保存套餐中的体检项目
 45 List item = new List();
 46 
 47 }
 48 #endregion
 49 
 50 #region 添加事件 套餐
 51 private void btntianjia_Click(object sender, EventArgs e)
 52 {
 53 if (string.IsNullOrEmpty(txtname.Text))
 54 {
 55 MessageBox.Show("请输入套餐名称", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
 56 return;
 57 
 58 }
 59 else
 60 //else
 61 {
 62 //声明数组
 63 HealtSet hs = new HealtSet();
 64 this.healtset.Add(this.txtname.Text, hs);
 65 this.iInitHealthSetList();
 66 
 67  
 68 
 69 
 70 //向下拉框添加内容
 71 this.comb.SelectedIndex = this.healtset.Count;
 72 lilruxue.Text = comb.Text;
 73 hs.Name = comb.Text;
 74 lilruxue.Show();
 75 MessageBox.Show("添加成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
 76 
 77 
 78 
 79 }
 80 }
 81 #endregion
 82 
 83 #region iInitHealthSetList方法
 84 private void iInitHealthSetList()
 85 {
 86 //清空下拉列表
 87 //this.comb.Items.Clear();
 88 this.comb.Items.Clear();
 89 //this.comb.Items.Add("请选择");
 90 this.comb.Items.Add("您请选择");
 91 
 92 //foreach (string key in this.healtset.Keys)
 93 //{
 94 // this.comb.Items.Add(key);
 95 //}
 96 //this.comb.SelectedIndex = 0;
 97 
 98 
 99 foreach (string key in this.healtset.Keys)
100 {
101 this.comb.Items.Add(key);
102 }
103 this.comb.SelectedIndex = 0;
104 
105 
106 }
107 #endregion
108 
109 #region load事件
110 private void TiJian_Load(object sender, EventArgs e)
111 {
112 lilruxue.Hide();
113 lblmaoey.Hide();
114 this.lilruxue.Text = "";
115 //设置套餐总价的值为空
116 this.lblmaoey.Text = "";
117 btntianjia1.Enabled = false;
118 btnsanchu.Enabled = false;
119 //默认初始化所有检查项目
120 Initems();
121 //默认初始化套餐
122 Initems();
123 //加载下拉列表
124 iInitHealthSetList();
125 dataGridView1.AutoGenerateColumns = false;
126 
127 
128 }
129 #endregion
130 
131 #region 下拉列表功能 为数组赋值
132 public void Initems()
133 {
134 height = new HealIte("身高", 5, "用于检查身高");
135 weight = new HealIte("体重", 5, "用于检查体重");
136 sight = new HealIte("视力", 10, "用于检查视力");
137 hearing = new HealIte("听力", 20, "用于检查听力");
138 liverFun = new HealIte("肝功能", 100, "用于检查肝功能");
139 ekg = new HealIte("B超", 200, "用于检查B超");
140 bwaves = new HealIte("心电图", 50, "用于检查心电图");
141 bloodpressure = new HealIte("血压", 20, "用于检查血压");
142 bloodTest = new HealIte("血常规", 88, "用于检查血常规");
143 
144 ALLItems.Add(height);
145 ALLItems.Add(weight);
146 ALLItems.Add(sight);
147 ALLItems.Add(hearing);
148 ALLItems.Add(liverFun);
149 ALLItems.Add(ekg);
150 ALLItems.Add(bwaves);
151 ALLItems.Add(bloodpressure);
152 ALLItems.Add(bloodTest);
153 
154 }
155 #endregion
156 
157 #region InitSets方法
158 //默认套餐数据
159 private void InitSets()
160 {
161 ltems = new List();
162 ltems.Add(height);
163 ltems.Add(weight);
164 ltems.Add(liverFun);
165 
166 setA = new HealtSet("入学体检", ltems);
167 setA.Calcprice();
168 this.healtset.Add("入学体检", setA);
169 
170 }
171 
172 
173 #endregion
174 
175 #region 下拉列表
176 private void UpdateSet(HealtSet set)
177 {
178 dataGridView1.DataSource = new BindingList(set.Items);
179 }
180 
181 #endregion
182 
183 #region 设置套餐总价 更新 删除
184 private void comb_SelectedIndexChanged(object sender, EventArgs e)
185 {
186 string setName = this.comb.Text;
187 if (setName == "请选择")
188 {
189 this.dataGridView1.DataSource = null;
190 lilruxue.Text = "";
191 lblmaoey.Text = "";
192 return;
193 }
194 //设置套餐名称
195 lilruxue.Text = this.healtset[setName].Name;
196 //设置套餐总价
197 lblmaoey.Text = this.healtset[setName].Price.ToString();
198 //更新套餐检查项目
199 UpdateSet(healtset[setName]);
200 //删除按钮为可用状态
201 btnsanchu.Enabled = true;
202 
203 } 
204 #endregion
205 
206 #region if循环 盒子2号
207 private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
208 {
209 if (this.comboBox2.Text != "选择")
210 {
211 this.btntianjia1.Enabled = true;
212 }
213 else
214 {
215 this.btntianjia1.Enabled = false;
216 }
217 } 
218 #endregion
219 
220 #region 添加按钮全部功能
221 private void btntianjia1_Click(object sender, EventArgs e)
222 {
223 if (this.comboBox2.SelectedIndex == 0)
224 {
225 
226 MessageBox.Show("请选择一个项目");
227 return;
228 }
229 string comboBox2Text = this.comboBox2.Text;
230 if (comboBox2Text == "请选择")
231 {
232 MessageBox.Show("请选择一个套餐");
233 return;
234 }
235 int index = this.comboBox2.SelectedIndex - 1;
236 
237 string mc = txtname.Text;
238 if (!this.healtset[mc].Items.Contains(ALLItems[index]))
239 {
240 //this.healtset
241 
242 
243 this.healtset[mc].Items.Add(ALLItems[index]);
244 this.healtset[mc].Calcprice();
245 UpdateSet(this.healtset[mc]);
246 this.lilruxue.Text = this.healtset[mc].Name;
247 this.lblmaoey.Text = this.healtset[mc].Price.ToString();
248 MessageBox.Show("添加成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
249 
250 }
251 else
252 {
253 MessageBox.Show("该项目已经选择过", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
254 }
255 
256 
257 }
258 
259 #endregion
260 
261 #region 删除按钮全部功能
262 private void btnsanchu_Click(object sender, EventArgs e)
263 {
264 //删除项目
265 string setName = txtname.Text;// this.comboBox2.Text;
266 if (this.dataGridView1.SelectedRows.Count == 0)
267 {
268 MessageBox.Show("请选择删除项", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
269 return;
270 }
271 
272 //获取选中的项目索引
273 int index = this.dataGridView1.SelectedRows[0].Index;
274 //删除检查项
275 this.healtset[setName].Items.RemoveAt(index);
276 //重新计算价格
277 this.healtset[setName].Calcprice();
278 //更新dgv显示
279 UpdateSet(healtset[setName]);
280 //重设标签显示
281 lilruxue.Text = setName;// setA.Name;
282 string comboBox2Text = this.comboBox2.Text;
283 
284 string mc = txtname.Text;
285 lblmaoey.Text = healtset[mc].Price.ToString();
286 MessageBox.Show("删除成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
287 
288 
289 }
290 
291 #endregion
292 
293  
294 
295  
296 
297  
298 
299 }
300 
301  
302 
303  
304 
305 }
306 
307  
308 
309  

第五章项目 体检套餐管理系统


推荐阅读
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
author-avatar
手机用户2502921877
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有