机房合作小知识点总结

前言

机房合作学习到了好多的新的知识,同时对于制作软件的用户体验有了很大的提高!接下来一起看看小的知识点!

1、int类型

int占32位的时候,最大可以赋值为:2147483647。也就是0x7fffffff。所以当我们输入11位或者大于2147483647的时候系统就会崩溃我们一定要注意这一点!

2、使用list如何判断数据库中的null

这个问题我是真的搞了一个下午,网上对于datable转换数据库中的null有大量的资料,我就不在这里赘述了!我们现在用的是list,判断数据库中的null在list中是如何显示的!

我们的数据库上机表与下机表是放在一起的,正在上机的电脑就是有上机时间没有下机时间,既有上机时间又有下机时间的是上完机然后下机的!现在我要用list遍历下机记录为空的记录,该如何遍历呢:

 line.OffDateTime==default(DateTime)); // 表示数据库中的null,括号中是时间日期型,如果我们要查的数据类型为string,那么括号里就是string

  list2 = list.FindAll((line) => line.OffDateTime==default(DateTime));  //查找所有下机时间为空的记录
3、过几秒执行 System.Threading.Thread.Sleep(3000);

我们在做软件的时候一定要考虑用户体验,我们在下机的时候,会提示给用户下机成功,但是我此时就想让这个提示出现3秒然后自己关闭,那该怎么半呢,看下边的代码:

System.Threading.Thread.Sleep(30000)   //延迟三秒执行
4、三元表达式

这个之前都是在算法中运用,这次在控件之间运用了,感觉确实还是挺好用的,因为这样少写了一些代码,还没有了if else判断!

 label2.Text = (!(PublicRule.OnlynumberIscheck(txtUsualRate.Text.Trim()))) ? "只能输入数字,且最多是3位数" : "";
5、TextChanged事件的学习

我们都知道qq中的提示信息没有弹出框,都是输入一个满足一个,比如密码的输入:如果没有空格那么就打个勾,如果长度为8—16个字符,那么就打个勾,如果有了字母,数字,符号至少两种,则在打个勾!这些功能我们是用textChanged事件实现的

在这里插入图片描述

下面的代码如果不满足只能输入数字,且最多是3位数则出现提示只能输入数字,且最多是3位数,否则就为空!public就是

    private void txtSuperRate_TextChanged(object sender, EventArgs e)
    {
        label3.Text = (!(PublicRule.OnlynumberIscheck(txtSuperRate.Text.Trim()))) ? "只能输入数字,且最多是3位数" : "";
    }

对于.OnlynumberIscheck,这是我们自己封装方法,用的是正则表达式:只要是限制控件内容,全都是正则表达式,这样还是比较方便,想的比较全面的!接下来只给一个例子

public static bool OnlynumberIscheck(string txt)
    {

        if ((new Regex("^[0-9]{1,3}$")).IsMatch(txt))
        {
            return true;
        }
        else
        {
            return false;
        }
    }

正则表达式用起来真的是方便,很建议大家使用!

6、数据库遍历转移到程序中遍历

这个算是我们组的一个大的创新了吧,我们之前做的项目都是在数据库中遍历,比如我们先查了学生的个人信息! 然后呢,我们又要注册,注册的时候会判断我们的卡号存不存在,这时候就会在数据库中遍历!这种方式肯定是可行的,但是有时候性能呢,如果有100个人注册,那么就得去数据库遍历一百次,如果有1000个,10000个呢?想想为什么有时候服务器会宕机?

后来我们就想可不可以转移到程序中呢?答案就是完全可以,如果转移到程序中,那么我们只需要用户自己的电脑去遍历了!怎么转换呢,就是将数据库的表查出来放在程序中,通过list自带的方法就可以直接得到想要的结果了,如果对此特别感兴趣,可以看看我的下一篇博客,list高级用法!

7、使MessageBox弹出4秒后自己关闭

这个功能实现在下机,下机我会有一个弹出框提示用户已经下机,可是这个弹出框不会自己变没,微软没有提供此方法,只能自己去引用了,接下是重写了一个方法,使得messagebox可以实现4秒后自己关闭!

    [DllImport("user32.dll")]
    public static extern int MessageBoxTimeoutA(IntPtr hWnd, string msg, string Caps, int type, int Id, int time);//引用DLL
MessageBoxTimeoutA((IntPtr)0, "亲,恭喜你下机成功!", "消息框", 0, 0, 000);// 直接调用  3秒后自动关闭 父窗口句柄没有直接用0代替

后记

机房合作已经是第三遍了,越多的创新就会有越多的收获

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值