//确认事件
private void cmd_ok_Click(object sender, EventArgs e)
{
//客户名称是否为空
if (txt_banhao.Text.TrimEnd() == "")
{
MessageBox.Show("电脑版号不能为空", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
txt_banhao.Focus();
return;//这个return必须写才能跳出整个点击事件,因为不会执行break,不写return就会往下执行switch语句
}

switch (lab_state.Text)
{
case "添加": //if()else()里面的return最多只能有一个,否则break会有警告
if (SpareIsExist(txt_banhao.Text.TrimEnd()) == true)
{
MessageBox.Show("该电脑版号已存在", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
//return; //不写return也行,因为会跳过else而执行break强制结束该点击按钮事件
}
else
{
//不存在旧版号
Ulock_Contral();
lab_logindate.Text = DateTime.Now.ToString("yyyy-MM-dd");
lab_update.Text = DateTime.Now.ToString("yyyy-MM-dd");
txt_banhao.Enabled = false;
cmd_ok.Enabled = false;
//return;//不写return也行,程序也会执行break结束 "添加"这个条件
}

break;

case "修改":

if (SpareIsExist(txt_banhao.Text.TrimEnd()) == true)
{
if (_state_touchang == "已投产")
{
MessageBox.Show("注意该版号已投产", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
//解锁各控件
Ulock_Contral();
txt_banhao.Enabled = false;
cmd_ok.Enabled = false;

}

if (lab_formstate.Text == "未制版")
{
//解锁各控件
Ulock_Contral();
txt_banhao.Enabled = false;
cmd_ok.Enabled = false;

}
if (lab_formstate.Text == "已制版")
{
MessageBox.Show("注意该版号已制版", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
//解锁各控件
Ulock_Contral();
txt_banhao.Enabled = false;
cmd_ok.Enabled = false;

}
if (lab_formstate.Text == "已投产")
{
MessageBox.Show("该版号已投产无法修改", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
//解锁各控件
//Ulock_Contral();
//txt_banhao.Enabled = false;
//cmd_ok.Enabled = false;

}

}
else
{

MessageBox.Show("不存在该电脑版号", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

}

break;

case "删除":

if (SpareIsExist(txt_banhao.Text.TrimEnd()) == true)
{
if (_state_touchang == "已投产")
{
MessageBox.Show("已投产不能删除", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

}

if (lab_formstate.Text == "未制版")
{
//解锁各控件
//Ulock_Contral();
txt_banhao.Enabled = false;
cmd_ok.Enabled = false;
cmd_save.Enabled = true;

}
else
{
MessageBox.Show("已制版不能删除", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

}

}
else
{

MessageBox.Show("不存在该电脑版号", "关闭", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);

}

break;

}

}

case break结构与return的有关要点的更多相关文章

  1. [转帖]Shell脚本中的break continue exit return

    Shell脚本中的break continue exit return 转自:http://www.cnblogs.com/guosj/p/4571239.html break结束并退出循环 cont ...

  2. js中退出语句break,continue和return 比较 (转载)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  3. js中退出语句break,continue和return 比较

    js中退出语句break,continue和return 比较 在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是 ...

  4. JS中break continue和return的用法?

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 break和continue: 退出循环 ...

  5. js中退出语句break,continue和return 比较(转)

    原链接:http://blog.163.com/ued_er/blog/static/199703159201210283107315/ js中退出语句break,continue和return 比较 ...

  6. js中的break,continue和return到底怎么用?

    为什么要说个?好像很简单,但是我也会迷糊,不懂有时候为什么要用return,然而break和continue也经常和他放在一起. 所以就一起来说一说,这三个看起来很简单,却常常会出错的关键词的具体用法 ...

  7. 【疑点】js中的break,continue和return到底怎么用?

    转: [疑点]js中的break,continue和return到底怎么用? 为什么要说个?好像很简单,但是我也会迷糊,不懂有时候为什么要用return,然而break和continue也经常和他放在 ...

  8. js中退出语句break,continue和return 比较 (转)

    在 break,continue和return 三个关键字中, break,continue是一起的,return 是函数返回语句,但是返回的同时也将函数停止 首先:break和continue两个一 ...

  9. js中的break,continue和return的用法及区别

    为什么要说个?好像很简单,但是我也会迷糊,不懂有时候为什么要用return,然而break和continue也经常和他放在一起. 所以就一起来说一说,这三个看起来很简单,却常常会出错的关键词的具体用法 ...

随机推荐

  1. 玩转Asp.net MVC 的八个扩展点

    MVC模型以低耦合.可重用.可维护性高等众多优点已逐渐代替了WebForm模型.能够灵活使用MVC提供的扩展点可以达到事半功倍的效果,另一方面Asp.net MVC优秀的设计和高质量的代码也值得我们去 ...

  2. 剑指Offer面试题:27.最小的k个数

    一.题目:最小的k个数 题目:输入n个整数,找出其中最小的k个数.例如输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 这道题是典型的TopK问题,其最简单的思路莫过于 ...

  3. Hibernate框架搭建实例

    一,Hibernate是一个持久层,是一个专门负责管理数据库连接的框架: 二,Hibernate的搭建实例: 1.在Hibernate的官方网站(http://www.hibernate.org)可以 ...

  4. Angularjs学习---官方phonecat实例学习angularjs step0 step1

    接下来一系列的文章都是学习https://docs.angularjs.org/tutorial的笔记,主要学习的angular-phonecat项目的实现,来介绍angularjs的使用. 1.下载 ...

  5. C#事件

    事件(event),这个词儿对于初学者来说,往往总是显得有些神秘,不易弄懂.而这些东西却往往又是编程中常用且非常重要的东西.大家都知道windows消息处理机制的重要,其实C#事件就是基于window ...

  6. MongoDB 之C#实践

    官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads.下载后,还提供了一个酷似msdn的帮助文档. samus驱动:https:/ ...

  7. SpringMVC常用的注解

    1. @Controller @Controller用于标识控制层主键,负责注册一个bean到spring上下文,bean的ID默认为首字母小写的类名称,用户也可以自定义. 例如: 方式一:  @Co ...

  8. NotSupportedException-无法将类型“System.DateTime”强制转换为类型“System.Object”

    几张图就可以说明一切 2015-03-29 21:54:09,206 [77] ERROR log - System.NotSupportedException: 无法将类型“System.DateT ...

  9. SQL Server 更改跟踪(Chang Tracking)监控表数据

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 主要区别与对比(Compare) 实现监控表数据步骤(Process) 参考文献(Refere ...

  10. MySQL 外键

    在MySQL中 (1)MySQL 数据表主要支持六种类型 ,分别是:BDB.HEAP.ISAM.MERGE.MYISAM.InnoBDB.这六种又分为两类,一类是”事务安全型”(transaction ...